我试图建立一个makefile来编译一个相当大的程序的多个段。为了做到这一点,我希望Makefile能够同时传递多个调试标志,这样我就可以同时测试多组不同的函数。
所以在我的Makefile中:
debug:
gcc -Wall -O -o my_malloc main.c -D experimental leak <-- SECOND FLAG
./my_malloc
在我的C代码中,我想:
#ifdef experimental
printf("MALLOC PROGRAM IN DEBUGGING MODE\n");
#endif
//executing both conditionals at once in one line.
#ifdef leak
puts("TESTING LEAK DETECTION");
#endif
最佳答案
-D
标志语法与上面写的有点不同。如果要使用多个定义,请使用两个不同的标志:
gcc -Wall -Dexperimental -Dleak -O -o my_malloc main.c