gcc編譯引數

2021-10-08 06:28:45 字數 952 閱讀 9534

gcc main.c -o main.out		 //編譯成指定的名字

gcc main.c -o ./out/main.out //編譯成指定名字並儲存到已存在資料夾,必須存在,不然報錯

預設情況下,gcc在編譯時:

標頭檔案搜尋目錄為:/uer/include  --->   /usr/local/include

庫檔案搜尋目錄為:/usr/lib ----> /usr/local/lib

例如math.h標頭檔案,他在庫檔案libm.a中,因此需要額外第三方鏈結-lm

指定標頭檔案的搜尋路徑

-i /home/myinclude/
表示/home/myinclude為尋找標頭檔案的目錄。

尋找順序為 /home/myinclude/ —>/uer/include —> /usr/local/include

指定庫檔案的搜尋路徑

-l /home/lib
表示/home/lib為尋找庫檔案的目錄。

尋找順序為 /home/lib/ —>/usr/lib ----> /usr/local/lib

指定需要鏈結的庫檔案

-lm
表示鏈結的庫檔名為libm.a

-l後面直接加的就是庫名。對於庫檔案.a檔案來說,命名方式是libname.a,我們在連線時只需要name即可。也就是-lname.

需要注意的是,如果-l指定了庫檔案的搜尋路徑,那麼這個庫檔案就會首先在-l指定的路徑中搜尋。

如果沒有指定,則按預設路徑/usr/lib ----> /usr/local/lib搜尋。

gcc編譯引數

gcc編譯引數 linux寶庫 gcc引數詳解 介紹 gcc and g 分別是gnu的c c 編譯器 gcc g 在執行編譯工作的時候,總共需要4步 1.預處理,生成.i的檔案 預處理器cpp 2.將預處理後的檔案不轉換成組合語言,生成檔案.s 編譯器egcs 3.有彙編變為目標 機器 生成.o的...

GCC 編譯引數

安全技術 完全開啟 部分開啟 關閉canary fstack protector all fstack protecto fno stack protector nx z noexecstack z execstack pie pie no pie relro z now z lazy z nore...

gcc 引數 gcc編譯工具簡介

編譯的過程是乙個語言轉換的過程,由人能看懂的程式語言轉換為機器能看懂的二進位制語言。yaos的開發過程中,我們選擇gcc作為這個轉換器。我使用的系統是macos ak 2 yaos akilis uname adarwin ak 2.local 19.3.0 darwin kernel versio...