我试图建立一个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

10-08 00:00