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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

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

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

C
鴻蒙傳說(shuō) 2019-08-03 07:03:40
具有多個(gè)可執(zhí)行文件的makefile我正在嘗試編寫(xiě)一個(gè)Makefile,它使用宏一次從多個(gè)文件創(chuàng)建多個(gè)可執(zhí)行文件。我試著搜索以前回答的問(wèn)題,但是,由于我對(duì)C語(yǔ)言編程和與GCC一起工作相當(dāng)陌生,所以我無(wú)法找到我的問(wèn)題的答案。到目前為止,我擁有的是: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 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊


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

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

然后,我建議

 CFLAGS= -g -Wall -I.

(因?yàn)槟阏娴南?/trans>-g用于調(diào)試,以及-Wall得到大多數(shù)警告)

你可能不需要

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

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

.PHONY: all clean

all: $(EXECUTABLES)

實(shí)際上,我會(huì)給你的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

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

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

最后,我建議使用remake跑步remake -x調(diào)試復(fù)雜Makefile-S

當(dāng)然,我假設(shè)您的目錄只有一個(gè)文件程序。

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

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



查看完整回答
反對(duì) 回復(fù) 2019-08-05
?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊

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

$(EXECUTABLE): % : %.c

然后是一個(gè)默認(rèn)規(guī)則,讓它同時(shí)構(gòu)建兩個(gè):

all: $(EXECUTABLE)


查看完整回答
反對(duì) 回復(fù) 2019-08-05
  • 3 回答
  • 0 關(guān)注
  • 417 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)