Hallo,
ich suche den Quelltext von z.B. printf() um besser zu verstehen, wie das Einbinden von Librarys funktioniert und weil mich interessiert, wie professioneller Quelltext aussieht.
stdio.h finde ich z.B. unter /usr/include/stdio.h. Darin finde ich aber nur die Deklaration von printf() und keinen Hinweis zur Definition.
Kann mir jemand auf die Sprünge helfen?
Quelltext von printf() / stdio.h
-
- Beiträge: 2
- Registriert: Fr Mai 24, 2019 10:06 pm
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Quelltext von printf() / stdio.h
Eine Library ist der kompilierte Quelltext. Gewissermaßen ein Executable ohne main, das veröffentlicht welche Funktionen man aufrufen kann.Abrissbirne hat geschrieben: ↑Fr Mai 24, 2019 10:25 pmich suche den Quelltext von z.B. printf() um besser zu verstehen, wie das Einbinden von Librarys funktioniert und weil mich interessiert, wie professioneller Quelltext aussieht.
Je nach Compiler ist die libc mit Quelltext verfügbar. Beim GCC oder Clang ist das OpenSource, bei Visual Studio wage ich das zu bezweifeln.
Das ist definitiv professioneller Quelltext, aber der Quelltext ist nicht zwangsläufig auf Lesbarkeit optimiert.
Die Deklaration erklärt dem Compiler, dass eine printf-Funktion existiert. Wenn Du gcc aufrufst, wird implizit die libc hinzugelinkt.Abrissbirne hat geschrieben: ↑Fr Mai 24, 2019 10:25 pmstdio.h finde ich z.B. unter /usr/include/stdio.h. Darin finde ich aber nur die Deklaration von printf() und keinen Hinweis zur Definition.
Kann mir jemand auf die Sprünge helfen?
Im Prinzip ist printf ziemlich langweilig, weil es quasi nur eine andere printf-Funktion ruft

https://sourceware.org/git/?p=glibc.git ... 0a;hb=HEAD
Spannend wird es dann hier:
https://sourceware.org/git/?p=glibc.git ... 0d;hb=HEAD
Die Quellcodes kannst Du Dir entweder clonen oder von Deiner Distribution aus dem Quellcode-Repository holen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
-
- Beiträge: 2
- Registriert: Fr Mai 24, 2019 10:06 pm
Re: Quelltext von printf() / stdio.h
Vielen Dank. Das bringt mich ein ganzes Stück weiter.