* Heinz W. Pahlke schrieb am 28.Okt.2001:
On 27-Oct-2001 Bernd Brodesser wrote:
Welches Lehrbuch hast Du denn? Ist das ein Windowsbuch, oder ein UNIXbuch? Wenn es UNIX ist, so ist gcc so zimmlich eine Obermenge
Jetzt lerne ich C (von Monadjemi/Winkler). Nicht ganz aktuell, wie ich aus der Liste erfahren habe (z.B. noch "void main" statt "int main"),
Äh, main war schon immer int und noch nie void, von Kernighan/Ritchie angefangen.
aber ich habe es mir auch schon vor zwei Jahren gekauft, es dann aber nie durchgearbeitet. Ist sowohl fuer Unix- als auch Windows-User.
Dann müßte da doch auch was über Bibliotheken drin stehen.
Headerdateien werden *vor* dem Compelieren durch die #include Derektive in die Sourcedate eingebunden, und dann erst übersetzt.
...als ein Programm math.h erforderte und ich es einfach mit "gcc datei.c" uebersetzen wollte, wurde mir gesagt, dass da ein "-lm" fehlt.
Ja, hat aber direkt nichts mit der Headerdatei zu tun. Allerdings ist das bei math schon ein direkter Hinweis.
Und da es mit der Header-Datei string.h jetzt ebenfalls Probleme gibt, dachte ich halt, dass da wiederum beim Kompilieren etwas fehlt.
Bestimmt nicht.
Welche Headerdateien eingebunden werden müssen, steht in den manpages zu den Bibliotheksfunktionen. Also etwa man strcpy, oder so.
Aber mit "man string" bzw. "man string.h" komme ich eben nicht weiter.
Nein, Du mußt die Funktion nehmen. string ist ja keine Funktion. Funktionen sind z.B strcpy, strcmp, strlen, ...
Statt nun immer wieder fragen zu muessen, wollte ich die Loesungssuche mal etwas systematisieren. Irgendwo muss es ja etwas geben, wo man nach den jeweils gcc-Optionen suchen kann.
Das sind auch keine gcc-Options, sondern ld-Options, gcc gibt es lediglich an ld weiter. Siehe hier man ld. ld ist der Binder, der verschiedene Objektdateien und auch Bibliotheken zusammenbindet. Strings brauchen aber nur die Standardbibliotheken. Andere Bibliotheken, die man speziell einbinden muß sind math für Fließpunktzahlen, ncurses und einige andere, besonders für Graphiken. Normalerweise ist der dritte Abschnitt der Manpages in Unterabschnitten unterteilt. Aller Funktionen die in Abschnitt 3M beschrieben sind, bedürfen der Bibliothek m usw. So steht es auch noch in man 3 intro beschrieben. Leider halten sich die Manpages nicht mehr daran. :(( Ach so, wenn Du man strcpy oder so sagst, am Besten gleich man 3 strcpy, denn oft gibt es gleichlautende tcl-Befehle, die sich dan im Abschnit n befinden. PS: Ich würde als zusätzliches Buch den Kernighan/Ritchie aus dem Hanser-Verlag empfehlen. Da wirst Du zwar nicht viel über Graphik finden, aber das mach auch erst nachdem Du C verstanden hast. Die im K&R erwähnten Programme mit dem man die Daten- und andere UNIX-Strukturen bearbeiten kann, sollten auch unter Linux laufen. Bernd -- Probleme mit dem Drucker? Schon die Druckercheckliste beachtet? http://localhost/doc/sdb/de/html/drucker-howto.html | Auch lesenswert: Oder schon das Drucker-HOWTO gelesen? | man lpr file://usr/shar/doc/howto/de/DE-Drucker-HOWTO.txt.gz | Zufallssignatur 3