博客專欄

        EEPW首頁 > 博客 > Makefile 宏定義 -D

        Makefile 宏定義 -D

        發布人:電子禪石 時間:2021-01-08 來源:工程師 發布文章

        一、GCC編譯器中使用:
                -D macro=string,等價于在頭文件中定義:#define   macro   string。

            例如:-D TRUE=true,等價于:#define   TRUE   true
                -D macro,等價于在頭文件中定義:#define   macro   1,實際上也達到了定義:#define   macro的目的。

            例如:-D Linux,等價于:#define   LINUX   1(與#define   LINUX作用類似)。
                --define-macro   macro=string與-D macro=string作用相同。

         

        如:TEST.C 文件

        復制代碼
        #include <stdio.h>#include <stdlib.h>main()
        {
        #ifdef p1
          printf("Hello p1");#else
          printf("Hello p2");#endif
         }
        復制代碼

         

        1.編譯: gcc -o test test.c

        運行: ./test

        輸出: Hello p2

        2.編譯: gcc -o test test.c -D p1

        運行: ./test

        輸出: Hello p1

         

        二、Makefile中進行宏定義-D

        在Makefile中我們可以通過宏定義來控制源程序的編譯。只要在Makefile中的CFLAGS中通過選項-D來指定你于定義的宏即可。

        如:
        CFLAGS += -D _YUQIANG

        在編譯的時候加上此選項就可以了: $(CC) $(CFLAGS) $^ -o $@ 

         

        DEFINES +=  -D BVS_DIRECTION=$(BVS_DIRECTION) \            -D BVS_LAYOUT=$(BVS_LAYOUT) \            -D $(BVS_TYPE)\

         


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞:

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 嘉义市| 金川县| 额敏县| 山丹县| 法库县| 石景山区| 分宜县| 龙海市| 信宜市| 红原县| 都安| 五峰| 天水市| 大英县| 中西区| 黑河市| 河津市| 定襄县| 庆元县| 东港市| 定西市| 当阳市| 龙游县| 灌南县| 盘山县| 曲靖市| 衡阳市| 杨浦区| 夹江县| 时尚| 嘉兴市| 江口县| 东台市| 宁津县| 瓦房店市| 平果县| 保山市| 亳州市| 鄢陵县| 洞口县| 资溪县|