选项 -fmacro-use-commandline
说明
优先使用命令行中的宏。
使用方法
增加编译选项-fmacro-use-commandline ,并在其后加入-D宏定义,例如-fmacro-use-commandline -DTEST_MACRO=222,可以将DTEST_MACRO宏定义为222。
结果
测试用例如下:
1 2 3 4 5 6 7 | #define TEST_MACRO 10 int main() { printf("Hello World, TEST_MACRO:%d\n", TEST_MACRO); return 0; } |
测试命令:
1 | gcc -E test.c -o test.i -fmacro-use-commandline -DTEST_MACRO=222 |
图1 选项未打开时


图2 选项打开后


选项打开后,优先使用了命令行中的宏定义,将TEST_MACRO宏定义成222。
父主题: 静态编译优化