Linux GCC make檔案的寫法 總結版

2021-05-22 00:33:48 字數 800 閱讀 3837

目錄結構為:

inc/hello.h

src/hello.c

main/main.c

makefile

檔案內容為:

hello.h:

hello.c:

main.c:

makefile:

首先,需要明確一點,這裡面有兩個執行程式,乙個make,乙個gcc,在makefile裡這兩個的語句也是分別佔1行的。

這裡最主要的是路徑的問題,因為不同的檔案在不同的目錄下面,所以要告訴程式檔案所在的路徑,而又有兩個程式需要告知,而兩個程式告知的方式又不同,所以這個問題一開始困擾了我好久,在好多好心人的幫助下,終於明白了一點。

gcc的搜尋路徑設定方式為(這個應該是只能設定標頭檔案的搜尋路徑,因為是include):-i inc,

而.c檔案的搜尋路徑似乎不能設定,而只能在cc -c path/%.c中顯示的寫出,個人這麼理解。

而有一種方式是可以不用顯示的寫出的,而且也不用吧,%.c也寫出,就是用make的自動化變數

「$<」和「$@」則是自動化變數,「$<」表示所有的依賴目標集(%.c),「$@」表示目標集(%.o)。

(是make的變數,檔案在當前目錄沒有找到的話,會自動搜尋vpath中設定的路徑,如果不用這個那麼如果.c在不在當前目錄下,-c後面要指明目錄位置,用這個後,可以在vpath中指明即可)

因為是make的變數,所以用vpath設定的make的路徑在這裡面就起作用了,不用再顯示的指明.c的路徑了。而且這樣寫起來,更簡潔。

Linux GCC make檔案的寫法3

包含3個資料夾 目錄組織結構如下 inc hello.h main main.c,makefile src hello.c 檔案內容如下 hello.h main.c 其中,第二個包含檔案,hello.h,必須要用 如果用 則gcc只會到系統目錄下去搜尋,不會到本當前目錄下搜尋 就是 在使用者目錄下...

Linux GCC make檔案的寫法4 清晰版

包含3個資料夾,和乙個檔案makefile 目錄組織結構如下 makefile inc hello.h main main.c src hello.c makefile檔案在外面,這樣生成的.o和可執行檔案都在外面,clean之後會很乾淨,結構清晰 檔案內容如下 makefile 之所以用大寫,因為...

使用Matlab批量的處理檔案(檔案的檔名類似)

matlab是處理資料的乙個強有力的工具。讀取大量的檔案,一次只處理乙個資料,是乙個浪費精力的工作,可以使用一種方法批量的處理檔名相似的檔案,將會節省大量的時間,去幹更多有意義的事情,要學會偷懶。clc clear close all fori 1 10 代表檔案的格式 filename strca...