第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有多個可執(zhí)行文件的makefile

具有多個可執(zhí)行文件的makefile

C C++
紅糖糍粑 2019-07-12 15:38:11
具有多個可執(zhí)行文件的makefile我正在嘗試編寫一個Makefile,它使用宏一次從多個文件創(chuàng)建多個可執(zhí)行文件。我試著搜索以前回答的問題,但是,由于我對C語言編程和與GCC一起工作相當陌生,所以我無法找到我的問題的答案。到目前為止,我擁有的是:CC=gcc CFLAGS=-I.OBJ = ex1.c ex3.c EXECUTABLE = ex1 ex3 $(EXECUTABLE): $(OBJ)     gcc -o $@ $^ $(CFLAGS)clean:     rm -f $(EXECUTABLE)我想要這條線$(EXECUTABLE): $(OBJ)分別從ex1.cex3.c文件創(chuàng)建可執(zhí)行文件EX1和EX3。
查看完整描述

3 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

一些建議(假設你使用GNU 制作,使,而不是別的東西)

首先,運行一次make -p,你就會明白什么是內置的規(guī)則make就是知道。特別是COMPILE.cLINK.c

然后,我建議

 CFLAGS= -g -Wall -I.

(因為你真的想-g用于調試,以及-Wall得到大多數(shù)警告)

你可能不需要

$(EXECUTABLE): $(OBJ)
    gcc -o $@ $^ $(CFLAGS)

然而,我建議在大多數(shù)其他規(guī)則之前添加

.PHONY: all clean

all: $(EXECUTABLES)

實際上,我會給你的Makefile(為GNU make!)如下

# file MakefileCC= gcc
RM= rm -vf
CFLAGS= -Wall -g
CPPFLAGS= -I.SRCFILES= ex1.c ex2.c ## or perhaps $(wildcard *.c)OBJFILES= $(patsubst %.c, %.o, 
$(SRCFILES))PROGFILES= $(patsubst %.c, %, $(SRCFILES)).PHONY: all clean

all: $(PROGFILES)clean:
     $(RM) $(OBJFILES) $(PROGFILES) *~## eof Makefile

記住附簽中的一個重要角色Makefile-S(行動部分規(guī)則)。在這個答案中,以四個空格開頭的行至少應該以附簽性格。

一旦一切都調試完畢,請考慮運行make clean把所有的東西都清理干凈,然后make -j CFLAGS=-O2 all與優(yōu)化并行編譯所有內容。

最后,我建議使用remake跑步remake -x調試復雜Makefile-S

當然,我假設您的目錄只有一個文件程序。

順便說一句,還有其他建筑程序。也許你可以考慮奧麥克

不要忘記使用版本控制系統(tǒng),例如吉特你的源文件。現(xiàn)在也是學習這種工具的時候了。


查看完整回答
反對 回復 2019-07-12
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

你已經接近了,但你需要一個模式規(guī)則:

$(EXECUTABLE): % : %.c

然后是一個默認規(guī)則,讓它同時構建兩個:

all: $(EXECUTABLE)


查看完整回答
反對 回復 2019-07-12
  • 3 回答
  • 0 關注
  • 976 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號