利用gcc編譯選項和宏定義控制代碼條件編譯


示例代碼(文件compile_macro_test.c):

#include <stdio.h>

int main()
{

        int a = 0;
#ifdef DBUG
        a = 5;
#endif

        printf("=========%d\n",a);

        return 0;
}

對應Makefile文件

all:a.out
debug:b.out
        mv b.out a.out

a.out:compile_macro_test.c
        gcc $< -o $@
b.out:compile_macro_test.c
        gcc -DDBUG $< -o $@
.PHOHY:clean
clean:
         rm *.out

運行make后得到的a.out輸出為=========0

運行make debug后得到的a.out輸出為=========5


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM