Hi,
ich habe mit C angefangen. Jetzt habe ich mir mal die stdio.h angeguckt. Da stehen ja immer nur die Header der Funktionen drin. Wo stehen denn die eigentlichen Funktionen?
Danke
Was sind Libraries?
Re: Was sind Libraries?
GNUten Morgen! (Programmierer-Zeitrechnung )
Definiert weredn die Funktionen in der Standardbibliothek (/lib/libc.so.6), gegen die jedes Programm standardmäßig gelinkt wird (das zu deaktivieren ist z.B. beim Übersetzen einer neuen Version der libc sinnvoll <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">).
Grüße von Wolfgang
Definiert weredn die Funktionen in der Standardbibliothek (/lib/libc.so.6), gegen die jedes Programm standardmäßig gelinkt wird (das zu deaktivieren ist z.B. beim Übersetzen einer neuen Version der libc sinnvoll <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">).
Grüße von Wolfgang
Re: Was sind Libraries?
Und was hat das mit stdio.h zu tun, wenn die Dateien sowieso standardmäßig gegen libc.so.6 gelinkt werden?
Kann mir vielleicht jemand Links zu diesem Thema nennen (libc, standlibrary, linken).
Und wie ändert man es, dass Dateien nicht mehr gegen libc.so.6 gelinkt werden?
Danke
Kann mir vielleicht jemand Links zu diesem Thema nennen (libc, standlibrary, linken).
Und wie ändert man es, dass Dateien nicht mehr gegen libc.so.6 gelinkt werden?
Danke
Re: Was sind Libraries?
Hi,
die Definitionen der Funktionen wurden wegen der Übersichlichkeit auf verschiedene Header verteilt. Diverse Standards legen fest, was in welchem Header enthalten sein muß. Und da sich alle außer Micro$oft an Standards halten...
Das Linken mit libc kann man mit der Linkeroption -nostdlibs verhindern. Probiere es aus, und du wirst eine Menge "unresolved externals" bekommen. Auf libc kann man so gut wie nie verzichten.
Gruß,
hjb
die Definitionen der Funktionen wurden wegen der Übersichlichkeit auf verschiedene Header verteilt. Diverse Standards legen fest, was in welchem Header enthalten sein muß. Und da sich alle außer Micro$oft an Standards halten...
Das Linken mit libc kann man mit der Linkeroption -nostdlibs verhindern. Probiere es aus, und du wirst eine Menge "unresolved externals" bekommen. Auf libc kann man so gut wie nie verzichten.
Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?