Wenn ich Makros in meinem C-Code zu verwenden, wieWo werden Makros gespeichert?
#define var 10
dann, wo genau die in dem für den Prozess vom Kernel zugewiesenen Speicherplatz gespeichert werden? In Heap oder BSS oder globalen Daten? Oder ist es nur ein Text-Ersatz für var in einem der Compiler-Pässe?
Ich glaube nicht, dass Textaustausch recht gerecht ist. Es kann mit Parameterlisten und dergleichen arbeiten. –
Ja. Makros sind für viele Dinge nützlich. Der OP ist ein wenig unscharf über den CPP-Pass. Textersetzung ist was passiert. – EvilTeach
@AndrewWhite: Der Präprozessor ist kompliziert, aber es macht nur eine Text-zu-Text-Konvertierung. Zum Beispiel ist es in Unix-Systemen möglich, den Präprozessor getrennt vom Compiler auszuführen, und Sie können sogar den C-Präprozessor für einige Nicht-C-Dateien verwenden. – hugomg