国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

系統編譯:如何給Make命令來傳遞參數

2024-07-26 00:37:24
字體:
來源:轉載
供稿:網友

在編譯系統的時候,我們一般只要簡單的輸入make執行就可以了。但有時候,我們還是需要讓make命令帶入一些參數給makefile腳本。

比如,你在代碼里面需要定義一個宏DEBUG來打開調試開關,代碼如下:

 

int main()
      {
          int i=9;
      #ifdef DEBUG
          i=1;
      #else
          i=0;
      #endif
          PRintf("i=%d/n", i);
          return 0;
      }
 


一般來說,這個宏定義可以通過直接修改源代碼進行,但這樣顯然不是很好的辦法。另外一個辦法是通過makefile修改,比如:

 

CFLAGS=-g -Wall -DDEBUG

object=myprog

all:$object

myprog:a.c

gcc ${CFLAGS} a.c -o ${object}
 


如果更進一步,連makefile都不想修改,我們可以通過向make命令傳遞參數來進行,為此,我們需要適當的修改makefile如下:

 

CFLAGS=CFLAG

CFLAGS+=-g -Wall -DDEBUG

object=myprog

all:$object

myprog:a.c

gcc ${CFLAGS} a.c -o ${object}
 


此時,如果想打開DEBUG宏,我們可以這樣輸入make命令:

 

[ychq@ICM3-2 net]$ make CFLAG=-DDEBUG

gcc -g -Wall -DDEBUG a.c

a.c: In function `main':

a.c:9: warning: implicit declaration of function `printf' [ychq@ICM3-2 net]$
 


我們可以發現,DEBUG宏已經被正確的傳入。


更進一步的,我們可以通過傳遞不同的參數給make,讓make編譯不同的模塊。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贡嘎县| 浮山县| 德兴市| 莆田市| 达尔| 镇雄县| 巫溪县| 桃江县| 通道| 嵊泗县| 永城市| 会同县| 肥西县| 建湖县| 仁怀市| 阿克陶县| 左云县| 彰化县| 盐津县| 乐平市| 吴江市| 陆良县| 云梦县| 新乡县| 琼海市| 西乌珠穆沁旗| 石屏县| 甘孜县| 玛纳斯县| 乌兰浩特市| 澄江县| 陆良县| 新蔡县| 阳朔县| 英德市| 奉贤区| 孙吴县| 威信县| 平昌县| 曲沃县| 双辽市|