新聞中心
C語言是開發(fā)操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)服務(wù)的主要語言,也是最受歡迎的開發(fā)語言,linux下多文件編譯是極大方便了開發(fā)者?,F(xiàn)在介紹一下Linux下C語言多文件編譯的技巧。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的和碩網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
首先,在Linux下進(jìn)行C語言編譯時,需要規(guī)定所有的文件的路徑,我們先用一個Makefile定義所有的路徑,這樣可以方便管理。例如,在路徑 B/C 下有多個源文件 a.c、b.c、c.c,可以用如下Makefile:
“`makefile
srcdirs :=B/C
srcs := $(wildcard $(addsuffix /*.c, $(srcdirs)))
objs := $(patsubst %.c, %.o, $(notdir $(srcs)))
這樣所有頭文件和源文件的路徑都在Makefile里規(guī)定了,之后就可以用Makefile來編譯,這樣也會方便很多。
其次,當(dāng)有多個源文件時,除了Makefile以外我們還可以使用編譯工具gcc的 -c 選項(xiàng),這個選項(xiàng)的作用就是僅僅編譯,不連接。使用gcc編譯多個源文件時,可以一次把所有源文件都編譯,而不需要一個源文件一個源文件地編譯,這樣可以大大節(jié)省時間,可以用下面的方式編譯:
$ gcc -c a.c b.c c.c
編譯完成后就產(chǎn)生了三個.o文件,這里必須留意,多文件編譯得到的中間文件的名字就是源文件的名字,所以如果源文件的名字相同時,會在編譯時產(chǎn)生“同名沖突”的情況,要非常小心。
最后,在多文件編譯的時候,更好的做法是使用gcc的-l選項(xiàng),用于鏈接庫文件,只要給出庫文件的名字,gcc就可以自動搜索到庫文件,從而完成最終的生成程序,例如:
```shell
$ gcc –o program a.o b.o c.o –lmath
經(jīng)過以上C語言在Linux下多文件編譯技巧的介紹,相信大家也有所收獲,在實(shí)際工作中也要多加練習(xí),可以更好地運(yùn)用到自己的項(xiàng)目中,提高C語言開發(fā)的效率,實(shí)現(xiàn)有效節(jié)省時間和精力。
創(chuàng)新互聯(lián)-老牌IDC、云計算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計算服務(wù)、IT信息化、AI算力租賃平臺(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220
網(wǎng)頁題目:語言Linux下C語言多文件編譯技巧(linux多文件編譯c)
新聞來源:http://www.dlmjj.cn/article/cdhdejs.html


咨詢
建站咨詢
