Was macht der Präprozessor/Precompiler genau?
-
Was macht der Präprozessor/Precompiler mit einer Anweisung wie
#include <iostream>
ganz genau? Was steht hinterher für den Compiler an dieser Stelle?
-
#include <iostream> wird durch den Inhalt <iostream> ersetzt (über den dann der Präprozessor auch noch läuft).
-
Was ist der Inhalt <iostream> eigentlich exakt? Entspricht das der Datei iostream.h? Wird #include <iostream> dann durch exakt diese Header-Datei ersetzt?
-
$ locate iostream|grep -v .h /opt/intel/compiler70/ia32/include/iostream /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/include/g++-v3/iostream /usr/include/stlport/iostream /usr/include/stlport/using/iostream /usr/include/stlport/wrap_std/iostream
Es sind einfach nur Dateien. Allerdings nicht garantierterweise.
-
Was ist der Inhalt <iostream> eigentlich exakt?
Ist abhängig von deiner konkreten Implementation.
Entspricht das der Datei iostream.h?
Nein. <iostream> und <iostream.h> sind zwei verschiedene Dinge. <iostream> muss nicht mal eine Datei sein.
Wird #include <iostream> dann durch exakt diese Header-Datei ersetzt?
Nein. Wie gesagt <iostream> muss nicht mal eine Datei sein. Ich habe allerdings bisher noch keine Implementation gesehen, wo <iostream> nicht eine Datei namens iostream war.
-
ich glaub beim IBM VisualAge Compiler ist das so