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...