Ich habe mich gefragt, wo ich den C-Code finden kann, der verwendet wird, damit beim Schreiben von printf(“Hello World!”); in meinem C-Programm, um zu wissen, dass es diese Zeichenfolge auf STDOUT drucken muss. Ich habe in nachgesehen, aber dort konnte ich nur seinen Prototyp int printf(const char *format, …) finden, aber nicht, wie es intern aussieht.
Ich glaube nicht, dass die Quelle verfügbar ist. +1 sowieso, das habe ich mich immer gefragt.
– Schwarzbär
1. Februar 2011 um 19:49 Uhr
verwandt – Verstehen der Hardware von printf- und C/C++-Funktionsdefinitionen ohne Assemblierung
– jschmier
1. Februar 2011 um 20:57 Uhr
printf ist definiert in Bezug auf putc Es ist also nicht erforderlich, Betriebssystemaufrufe zu tätigen.
– R.. GitHub HÖR AUF, EIS ZU HELFEN
1. Februar 2011 um 21:11 Uhr
@Tergiver, @R: Ihr habt beide recht. printf behandelt die Formatierung und ruft dann auf putcdie möglicherweise andere Hilfsfunktionen aufruft, aber letztendlich zu einem Betriebssystemaufruf führt.
– Ben Voigt
2. Februar 2011 um 3:19 Uhr
Mein Punkt war, dass die Betriebssystemaufrufe auf einem viel niedrigeren Niveau liegen, und printf ist im Wesentlichen eine reine Bibliotheksfunktion zusätzlich zu untergeordneten stdio-Aufrufen.
– R.. GitHub HÖR AUF, EIS ZU HELFEN
2. Februar 2011 um 3:21 Uhr
mschaef
Hier ist die GNU-Version von printf… man sieht es vorbeifahren stdout zu vfprintf:
Hier ist eine Verbindung zu vfprintf… die gesamte Formatierungs-‘Magie’ findet hier statt.
Das einzige, was wirklich „anders“ an diesen Funktionen ist, ist, dass sie Varargs verwenden, um an Argumente in einer Argumentliste mit variabler Länge zu gelangen. Abgesehen davon sind sie nur traditionelles C. (Dies steht im Gegensatz zu Pascals printf Äquivalent, das mit spezifischer Unterstützung im Compiler implementiert wird … zumindest war es früher so.)
Wo befindet sich diese Datei unter meinem Linux-System. Ich verwende RHEL. Vielen Dank!
– xxks-kkk
11. Mai 2016 um 5:25 Uhr
@Jerry Sein Objektcode befindet sich in Ihrer libc. Laden Sie den glibc-Quellcode für die Quelle herunter.
– a3f
28. Juli 2016 um 16:01 Uhr
eine der bekanntesten Bibliotheksfunktionen, und was drin ist Zeile 98 seines Quellcodes? Haufen goto und “Das ist ein Hack!!!” 😉
– Cee McSharpface
31. Juli 2018 um 20:42 Uhr
14159800cookie-checkCode für die printf-Funktion in C [duplicate]yes
Ich glaube nicht, dass die Quelle verfügbar ist. +1 sowieso, das habe ich mich immer gefragt.
– Schwarzbär
1. Februar 2011 um 19:49 Uhr
verwandt – Verstehen der Hardware von printf- und C/C++-Funktionsdefinitionen ohne Assemblierung
– jschmier
1. Februar 2011 um 20:57 Uhr
printf
ist definiert in Bezug aufputc
Es ist also nicht erforderlich, Betriebssystemaufrufe zu tätigen.– R.. GitHub HÖR AUF, EIS ZU HELFEN
1. Februar 2011 um 21:11 Uhr
@Tergiver, @R: Ihr habt beide recht.
printf
behandelt die Formatierung und ruft dann aufputc
die möglicherweise andere Hilfsfunktionen aufruft, aber letztendlich zu einem Betriebssystemaufruf führt.– Ben Voigt
2. Februar 2011 um 3:19 Uhr
Mein Punkt war, dass die Betriebssystemaufrufe auf einem viel niedrigeren Niveau liegen, und
printf
ist im Wesentlichen eine reine Bibliotheksfunktion zusätzlich zu untergeordneten stdio-Aufrufen.– R.. GitHub HÖR AUF, EIS ZU HELFEN
2. Februar 2011 um 3:21 Uhr