Re: Preprocessor: Einbinden von Header Dateien
David Haller <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Hello, On Tue, 11 Nov 2008, Bernhard Walle wrote: >* Thomas Hertweck [2008-11-11 20:41]: >> >> Ich war uebrigens wie Bernhard auch der Meinung, dass -I. optional ist, >> der GCC macht das doch normal automatisch. Spielt aber in dem Falle hier >> keine Rolle, denke ich, weil es ja eh explizit angegeben ist. > >-I. führt dazu dass <> auch im aktuellen Verzeichnis sucht. Aber "" >sucht immer im aktuellen Verzeichnis (also dem Verzeichnis der >Quellcodedatei, nicht dem Arbeitsverzeichnis des Compilers wenn du >gcc z.B. als gcc -o dir/prog dir/prog.c startest also in dir/, nicht >in .). Und "" sucht scheinbar relativ zur aktuellen Datei. Also von 'first.h' aus gesehen ist "second.h" in "." das in ./include. Etwas nachvollziehbarer wird's mit 'gcc -Wp,-H'. a) mit "second.h", beide ohne definiertes "JJJ": $ gcc -Wp,-H -I. -I../include code.c ../include/first.h ../include/second.h /usr/include/stdlib.h $ gcc -Wp,-H -I../src -I. -I../include code.c ../include/first.h ../include/second.h /usr/include/stdlib.h b) mit <second.h>, beide mit definiertem "JJJ": $ gcc -Wp,-H -I. -I../include code.c ../include/first.h second.h /usr/include/stdlib.h $ gcc -Wp,-H -I../src -I. -I../include code.c ../include/first.h ../src/second.h /usr/include/stdlib.h c) mit <second.h>, ohne definiertes "JJJ": $ gcc -Wp,-H -I. -I../src -I../include code.c ../include/first.h ../include/second.h /usr/include/stdlib.h Nur auf die Schnelle getestet mit gcc 2.95.2 und 3.3.5. HTH, -dnh, der da auch nicht ganz durchsteigt. -- > Bei Lidl gibt es nächste Woche eine CD mit "Tools für 100% > PC-Sicherheit". Kann man es den Virenschreibern noch einfacher > machen? -- M. Kordell Lidl verkauft Seitenschneider? -- J. Nieveler