例程makefile詳解

2021-10-04 02:11:10 字數 893 閱讀 3738

編譯檔案中原命令如下:

gcc -wall -g -fpic -shared -o libiptraces.so iptraces.c

gcc -wall -g -o p.out -i. -l. -liptraces nsprint.c

makefile關係到整個工程的編譯規則,makefile定義了一系列的規則來制定,哪些檔案需要先編譯,

哪些檔案後編譯,甚至於進行更複雜的功能操作,同時好處是——「自動化編譯」

makeflie編寫規範:

目標:依賴檔案                               

$^  代表所有依賴檔案

$@  代表所有目標檔案

$<  代表第乙個依賴檔案

%   代表萬用字元

@指令:遮蔽指令

定義變數(變數大寫)

變數名=值1 值2 ...

使用變數 $(變數名)

gcc是linux下面的編譯器,分為預處理->編譯->彙編->鏈結

gcc選項如下:

-o 輸出可執行檔案

-c 編譯生成目標檔案

-g 輸出除錯資訊

-o2 編譯器優化級別 1-3

-wall 警告選項 輸出警告資訊

-l 緊接著鏈結庫 lpthread

-l 指定鏈結庫的路徑

-i 標頭檔案路徑

-shared 編譯成動態鏈結庫

-fpic:-fpic作用於編譯階段,告訴編譯器產生與位置無關**

(position-independent code),則產生的**中,沒有絕對位址,

全部使用相對位址,故而**可以被載入器載入到記憶體的任意 位置,

都可以正確的執行。這正是共享庫所要求的,共享庫被載入時,

在記憶體的位置不是固定的。

Makefile詳解 概述

什麼是makefile?或許很多winodws的程式設計師都不知道這個東西,因為那些windows的ide都為你做了這個工作,但我覺得要作乙個好的和professional的程式設計師,makefile還是要懂。這就好像現在有這麼多的html的編輯器,但如果你想成為乙個專業人士,你還是要了解html...

Makefile詳解 介紹

make命令執行時,需要乙個 makefile 檔案,以告訴make命令需要怎麼樣的去編譯和鏈結程式。首先,我們用乙個示例來說明makefile的書寫規則。以便給大家乙個感興認識。這個示例 於gnu的make使用手冊,在這個示例中,我們的工程有8個c檔案,和3個頭檔案,我們要寫乙個makefile來...

Makefile詳解 內容

makefile裡主要包含了五個東西 顯式規則 隱晦規則 變數定義 檔案指示和注釋。1 顯式規則。顯式規則說明了,如何生成乙個或多的的目標檔案。這是由makefile的書寫者明顯指出,要生成的檔案,檔案的依賴檔案,生成的命令。2 隱晦規則。由於我們的make有自動推導的功能,所以隱晦的規則可以讓我們...