* Eilert Brinkmann schrieb am 16.Jun.2001:
Normalerweise tue ich das auch nicht per Hand, aber ich bin gerade mal neugierig geworden. Also, folgender Ablauf funktionierte bei mir:
$ echo -e '#include <stdio.h>\nmain(){printf("Hello!\n");}' >hello.c $ cpp hello.c >hello.i $ /usr/lib/gcc-lib/i486-linux/egcs-2.91.66/cc1 hello.i [...irgendwelche Ausgaben...] $ as -o hello.o hello.s $ ld -dynamic-linker /lib/ld-linux.so.2 -o hello /usr/lib/crt1.o \ /usr/lib/crti.o hello.o -lc /usr/lib/crtn.o $ ./hello Hello! $
Interessant ist auch die Größe der Dateien: $ wc hello* 13 103 11932 hello 3 4 46 hello.c 3162 2015 20345 hello.i 4 12 904 hello.o 25 47 363 hello.s 3207 2181 33590 insgesamt Man beachte hello.i Muß man gesehen haben. ;) Ach so: $ strip hello $ wc hello wc hello 3 34 2316 hello Und jetzt das Gleiche mit einem bison und/oder flex davor? ;)) Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11