Ich möchte einige Debug-Ausgabeanweisungen in eine große C-Code-Basis einfügen. Diese Debug-Ausgabeanweisungen werden von einem Compiler-Optionsschalter gesteuert.Wie schreibe ich ein C-Makro, das zu einem `#ifdef ... # endif'-Makroblock expandiert?
Die Aussage Debug-Ausgabe sieht wie folgt aus:
#ifdef DEBUG_FLAG
Print(someSymbol)
#endif
Tipparbeit zu sparen, ich frage mich, ob es möglich ist, ein einfaches Makro zu definieren, die über die Debug-Ausgabe Anweisungsblock erweitert zu?
Zum Beispiel:
#define DBG_MACRO(someSymbol) (something that can expand to above)
Dies kann nicht als ersetzte Werte durchgeführt werden, hier ein anderes Makro selbst, wird zum Kompilierzeitfehler führen. – sjsam
[Verwandte] (http://stackoverflow.com/q/2831934/335858) – dasblinkenlight
Wenn Sie einen Makro für Debug-Druck verwenden, dann schauen Sie in [C '# define' Makro für Debug-Druck] (http: // stackoverflow.com/questions/1644868/c-define-macro-for-debug-printing/). Es ist zumindest etwas verlockend, dies als ein Duplikat davon zu schließen. –