Forum: Compiler & IDEs printf - newlib - arm


von Frank Bönisch (Gast)


Lesenswert?

Hallo,
ich habe in meinem Programm <stdio.h> eingebunden und naiv einmal printf 
ausprobiert. Wieso führt dies nicht zu einem Compile-Error, obwohl ich 
das/den? Stub _write_r (noch) gar nicht implementiert habe? Was 
passiert, wenn ich printf aufrufe?

Danke für die Erlärung

von Frank Bönisch (Gast)


Lesenswert?

Oder wo sind diese Funktionen zumindest als Prototyp innerhalb der LIBC 
definiert? Finde sie nirgens :(

Bei mir funktioniert syscalls.c aus den winarm Beispielen leider nicht. 
Irgendwie sendet mein Arm Zeichen via printf nicht direkt, sondern in 
1024Byte "bursts"....

Hat jemand Rat oder kann mir die Verständnißfragen auflösen?

von Frank Bönisch (Gast)


Lesenswert?

fflush(stdout); hat schonmal das problem mit den burst behoben.

von Frank Bönisch (Gast)


Lesenswert?

Aus der LIBC Doku:
If some of these subroutines are not provided with your system--in the 
extreme case, if you are developing software for a "bare board" system, 
without an OS--you will at least need to provide do-nothing stubs (or 
subroutines with minimal functionality) to allow your programs to link 
with the subroutines in libc.a.

Okey, wieso kann ich ohne syscalls.c einzubinden erfolgreich übersetzen 
und linken, auch wenn ich ein printf naiv einfach mal aufrufe?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.