五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

快速編寫一個簡潔、正確的makefile

2023-02-25 13:47 作者:上岸的小浣熊  | 我要投稿

?makefile教程

? ? ? ?當(dāng)我們在 linux 系統(tǒng)下進行 C/C++ 編程,或者要拿著我們 windows 系統(tǒng)下的 VS 編譯器中編寫的 C/C++ 源碼在 linux 系統(tǒng)中運行時,我們就會涉及到 makefile 文件。

? ? ? ?makefile 文件用于 linux 系統(tǒng)中將編寫好的 .c ,.cpp,.h 文件編輯成一個可執(zhí)行文件,類似 VS 中的 “生成解決方案” 的過程。擁有獨立的編寫語言和方法。當(dāng)然,也可以通過shell命令行編譯,但當(dāng)文件較多時,采用命令行去編譯費時費力,并且當(dāng)項目中代碼發(fā)生變化時,不利于后期的更新和維護。

? ? ? ?一個正確可行的makefile文件也具有多種,本次我們介紹一種書寫較為簡潔、上手較為容易的編寫方式,如果要詳細(xì)學(xué)習(xí)的話,makefile文件有很多可以學(xué)習(xí)研究的地方。

1? 準(zhǔn)備

? ? ? ?采用 cd 命令將當(dāng)前工作目錄設(shè)置為代碼文件所在路徑,采用 vim makefile 命令打開文件(如果沒有會自動創(chuàng)建)

2? 編寫

2.1? 定義參數(shù)(主要為了簡潔,便于更新、維護)

CXX = g++ (gcc)? ? ? ?# .cpp 文件用 g++ 編譯,.c 文件用 gcc 編譯

TARGET = .....? ? ? ? ? # 輸入所生成可執(zhí)行文件的名字,類似于 win 中的 ....exe

OBJ = main.o? .....? ? # 輸入包含 main 在內(nèi)的所有 .cpp,但后綴改為 .o,中間空格隔開即可

CXXFLAGS = -c? ? ? # 編譯選項,如果想看警告信息,在后面添加 -Wall,空格隔開

2.2? 編譯

$(TARGRT) : $(OBJ)

制表符$(CXX)? -o? $@? $^? ?# 表示用 g++ 編譯器,將 OBJ 里的所有 .o 生成可執(zhí)行程序

%.o : %.cpp

制表符$(CXX)? $(CXXFLAGS)??$^??-o??$@??? # 表示用?g++?編譯器,將所有 .cpp 文件編譯生成 .o?文件

.PHONY:clean

clean:

制表符rm? -f? ?*.o? $(TARGET)? ? ?#刪除編譯生成的所有 .o 文件和可執(zhí)行程序

2.3? 使用

? ? ? ?makefile 編寫結(jié)束后,在 shell 命令行輸入 make 進行編譯,如果文件名不是makefile,輸入? make? -f? 文件名? 進行編譯,輸入 make clean 刪除生成的文件。

2.4? 運行

? ? ? ?在?shell 命令行輸入?? ./可執(zhí)行程序名? ?就可以成功運行程序了。

快速編寫一個簡潔、正確的makefile的評論 (共 條)

分享到微博請遵守國家法律
亚东县| 大化| 怀远县| 东乡| 饶阳县| 抚顺县| 留坝县| 海安县| 旅游| 长岭县| 恩施市| 潜江市| 抚顺县| 扎赉特旗| 泗阳县| 社会| 阳朔县| 辽宁省| 绥棱县| 定襄县| 澳门| 肥东县| 清河县| 双鸭山市| 五常市| 军事| 龙海市| 山东| 四子王旗| 龙川县| 原阳县| 大兴区| 孟连| 阳春市| 韶山市| 晋江市| 成武县| 开封县| 磐安县| 凤城市| 灯塔市|