亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4816 | 回復: 16
打印 上一主題 下一主題

多級Makefile [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-01-27 18:39 |只看該作者 |倒序瀏覽
程序代碼最終組裝成類似文件目錄樹的形式。
一般有main函數(shù)的文件放在頂層。
但是我發(fā)現(xiàn)頂層的Makefile中
對于目標可執(zhí)行程序的規(guī)則就不好弄了
main:main.o a.o b.o c.o
.....
但是a.o b.o c.o分別又位于其他的文件夾下,如果這樣的話,還不如在其他的文件夾下的Makefile寫的時候,讓.o文件最終放在和main.c相同文件夾下。
不知各位還有什么高見。謝謝

論壇徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵節(jié)徽章
日期:2015-03-06 15:50:392015亞冠之大阪鋼巴
日期:2015-06-12 16:01:352015年中國系統(tǒng)架構(gòu)師大會
日期:2015-06-29 16:11:2815-16賽季CBA聯(lián)賽之四川
日期:2018-12-17 14:10:21
2 [報告]
發(fā)表于 2010-01-27 19:38 |只看該作者
根據(jù)個人習慣了
我一般是按照功能模塊分成各個目錄,最后把該目錄下的.o打包成.a,然后最后鏈接的時候,鏈接各個目錄下的.a

有的時候也可以在根目錄下直接寫一個Makefile
里面的OBJS變量存放各個目錄下的.o,用makefile默認規(guī)則來生成.o,然后鏈接成一個問題
比如

  1. TOPDIR=$(shell pwd)
復制代碼

然后各個目錄下的Makefile里寫上

  1. OBJS += \
  2.        $(TOPDIR)/a/a.o\
  3.        $(TOPDIR)/b/b.o\
  4.        $(TOPDIR)/c/c.o
復制代碼


這里代碼修改了一下,主要是為了把子目錄下的.o放在OBJS里

然后在跟目錄下的Makefile里寫

  1. all:
  2.      make -c a/
復制代碼

這樣就可以了

僅僅是大概的舉個例子
我記得C語言版塊有幾篇很老的帖子,教如何寫Makefile的

[ 本帖最后由 T-Bagwell 于 2010-1-28 17:29 編輯 ]

論壇徽章:
0
3 [報告]
發(fā)表于 2010-01-28 15:52 |只看該作者
T-Bagwell 大俠在找工作??

論壇徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵節(jié)徽章
日期:2015-03-06 15:50:392015亞冠之大阪鋼巴
日期:2015-06-12 16:01:352015年中國系統(tǒng)架構(gòu)師大會
日期:2015-06-29 16:11:2815-16賽季CBA聯(lián)賽之四川
日期:2018-12-17 14:10:21
4 [報告]
發(fā)表于 2010-01-28 16:19 |只看該作者
原帖由 snail_314 于 2010-1-28 15:52 發(fā)表
T-Bagwell 在找工作??

是啊,在找工作,由于自己技術(shù)不行,所以不好找啊

論壇徽章:
0
5 [報告]
發(fā)表于 2010-01-28 17:22 |只看該作者

回復 #4 T-Bagwell 的帖子

這話謙虛了。不過話說回來,找工作確實技術(shù)大概只占的了5成的樣子,可能都多了,更多的是像名校效應啊之類的東西。畢竟像你肯定不光是想找個工作而已,要進好公司,就是這樣,唉。

論壇徽章:
0
6 [報告]
發(fā)表于 2010-01-28 17:24 |只看該作者
原帖由 T-Bagwell 于 2010-1-27 19:38 發(fā)表
根據(jù)個人習慣了
我一般是按照功能模塊分成各個目錄,最后吧該目錄下的.o打包成.a,然后最后鏈接的時候,鏈接各個目錄下的.a

有的時候也可以在根目錄下直接寫一個Makefile
里面的OBJS變量存放各個目錄下的.o,用 ...



恩。謝謝,現(xiàn)在覺得一個好的Makefile非常重要,減少了好多工作。。

論壇徽章:
0
7 [報告]
發(fā)表于 2010-01-29 14:09 |只看該作者
原帖由 T-Bagwell 于 2010-1-27 19:38 發(fā)表
根據(jù)個人習慣了
我一般是按照功能模塊分成各個目錄,最后把該目錄下的.o打包成.a,然后最后鏈接的時候,鏈接各個目錄下的.a

有的時候也可以在根目錄下直接寫一個Makefile
里面的OBJS變量存放各個目錄下的.o,用 ...

版主,感謝。
我發(fā)現(xiàn)連接.a文件是個好辦法。呵呵。

論壇徽章:
1
射手座
日期:2014-08-04 16:49:43
8 [報告]
發(fā)表于 2010-01-29 16:06 |只看該作者
all: main.o stack.o
        gcc main.o stack.o -o app
        mv main.o obj/main.o
stack.o:  stack.c
        gcc stack.c -c
main.o: main.c stack.h
        gcc main.c -c
clean:
        rm *.o app
.PHONY: clean

這是我的 Makefile 非常簡單的設(shè)置你可以看一下  你可以設(shè)置路徑的保存.o文件

論壇徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
9 [報告]
發(fā)表于 2010-01-29 16:15 |只看該作者
用automake,挺好使。

論壇徽章:
0
10 [報告]
發(fā)表于 2010-01-29 16:46 |只看該作者
原帖由 hanzhenlll 于 2010-1-29 16:06 發(fā)表
all: main.o stack.o
        gcc main.o stack.o -o app
        mv main.o obj/main.o
stack.o:  stack.c
        gcc stack.c -c
main.o: main.c stack.h
        gcc main.c -c
clean:
        rm *.o app
.PHONY: clean

這是我的 ...


恩,感謝,我試試。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP