gccのオプション -D
マクロ定義ができるgccオプション -D
マクロ定義するときはソースファイルに直接記載する方法しか知らなかったが、
どうやらコマンドでマクロ定義をすることもできるということで調べた。
具体的には以下の通りである。
hogehoge.cをGCCでコンパイルするコマンド
gcc -D DEBUG_DEFINITION = 1 -o hogehoge hogehoge.c
この場合だと、「DEBUG_DEFINITION」が「1」という数字として、マクロ定義されていることになる。
仮に
hogehoge.c
#include<stdio.h>
int main(void){
#ifdef DEBUG_DEFINITION
printf("hogehoge\n");
#endif
return 0;
}
この場合、main関数を実行すると「hogehoge」が表示されるようになる。
makefileでコンパイルスイッチを切り替えできるため便利だと思った。