国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

《九》makefile中大型項(xiàng)目案例

2023-03-26 11:04 作者:GXTon_阿通  | 我要投稿

為了實(shí)現(xiàn)一個大型的項(xiàng)目,

通常工程里面會有很多的目錄.

每個目錄有不同的作用.


makefile也是一種代碼,

至于怎樣實(shí)現(xiàn)makefile對大型工程的管理,有很多思路:


大型makefile思路1:

本次用于編寫一個通用的多目錄下的makefile.

一般會有一個頂層makefile和通用的makefile.build.

然后每個.c文件夾里,會有子目錄makefile.

最后,在頂層makefile中編寫一個shell遍歷程序.

遍歷每個子目錄,并進(jìn)入目錄運(yùn)行make命令.

因?yàn)楦鱾€makefile在執(zhí)行指令的時候,都用目錄,所以不用擔(dān)心找不到的問題.


大型makefile思路2:

可以參考linux的內(nèi)核,逐層生成一個打包文件.

采用遍歷,

最終生成一個總的打包文件.

然后,通過總的打包文件,生成可執(zhí)行文件


大型makefile思路3:

可以各層目錄下,生成.o文件.

然后把各層的.o文件拷貝到頂層目錄.

通過頂層目錄,把所有的.o文件進(jìn)行鏈接,生成最終的可執(zhí)行文件.




例如:

項(xiàng)目

? ? |---build文件夾

? ? |? ? |---exes文件夾

? ? |? ??? ? |---huge.exe

? ? |? ? |---libs文件夾

? ? |? ? |---makefile

? ? |? ? |---make.rule

? ? |

? ? |---source文件夾

? ? ? ? |---lib_hello文件夾

? ? ? ? |? ? |---inc文件夾

? ? ? ? |? ? |? ? |---helloworld.h

? ? ? ? |? ? |---src文件夾

? ? ? ? |? ? ? ? ?|---helloworld.c

? ? ? ? |? ? ? ? ?|---makefile

? ? ? ? |---main_hello文件夾

? ? ? ? ? ? ? |---src文件夾

? ? ? ? ? ? ? ??? ? |---deps文件夾

? ? ? ? ? ? ? ??? ? |? ? |---main.dep

? ? ? ? ? ? ? ??? ? |---objs文件夾

? ? ? ? ? ? ? ??? ? |? ? |---main.o

? ? ? ? ? ? ? ??? ? |---main.c

? ? ? ? ? ? ? ??? ? |---makefile



舉例:


用思路1和思路2的方式實(shí)現(xiàn)的helloworld多目錄的應(yīng)用。

這個例子完全可以應(yīng)用在其他大型項(xiàng)目中.

例子鏈接:

鏈接:https://pan.baidu.com/s/13yVmF5TvKB0M5njj8LkWYA
提取碼:1234

鏈接:https://pan.baidu.com/s/14D79UFrJ9wLWTEpWu1sgpw
提取碼:1234

《九》makefile中大型項(xiàng)目案例的評論 (共 條)

分享到微博請遵守國家法律
顺义区| 平原县| 富源县| 玉环县| 丰顺县| 苏尼特右旗| 通辽市| 伽师县| 沂水县| 双流县| 石阡县| 台中市| 井陉县| 东山县| 洛阳市| 惠东县| 文安县| 博野县| 临城县| 阿尔山市| 天台县| 汉源县| 尖扎县| 太白县| 吉木乃县| 紫云| 莱州市| 蛟河市| 吕梁市| 伊吾县| 鄂托克旗| 江都市| 卢湾区| 中阳县| 体育| 天峻县| 黔江区| 呼玛县| 宁夏| 广平县| 伊通|