gcc的常用編譯命令

2021-10-01 12:01:42 字數 851 閱讀 3199

gcc -c 源檔名 ---------編譯不鏈結,生成.o檔案

gcc -c test.c test2.c
gcc 輸入檔案 -o 輸出檔名------指定輸出檔案,生成可執行檔案

gcc test.o test.o -o test
gcc -e -c 源檔名 -o ci.i ------- e表示把預處理的結果匯出到ci.i檔案中 ,c表示不刪除注釋

gcc生成動態鏈結庫 .so檔案

如果想建立乙個動態鏈結庫,可以使用 gcc 的-shared選項。輸入檔案可以是原始檔、彙編檔案或者目標檔案。

另外還得結合-fpic選項。-fpic 選項作用於編譯階段,告訴編譯器產生與位置無關**(position-independent code);這樣一來,產生的**中就沒有絕對位址了,全部使用相對位址,所以**可以被載入器載入到記憶體的任意位置,都可以正確的執行。這正是共享庫所要求的,共享庫被載入時,在記憶體的位置不是固定的。

gcc -fpic -shared test.c -o test.so
gcc -fpic -c test.c -o test.o

gcc -shared test.o -o test.so

使用動態鏈結庫

gcc main.c test.so -o main.out

gcc常用編譯命令

2。gcc的基本用法 gcc test.c這樣將編譯出乙個名為a.out的程式 gcc test.c o test這樣將編譯出乙個名為test的程式,o引數用來指定生成程式的名 字3。為什麼會出現undefined reference to xx 錯誤?首先這是鏈結錯誤,不是編譯錯誤,也就是說如果只...

GCC編譯常用命令

加入新公司後,基本上是一鍵式打包指令碼,對於gcc基本上快忘了,重新拾起。gcc命令提供了非常多的命令選項,但並不是所有都要熟悉,初學時掌握幾個常用的就可以了,到後面再慢慢學習其它選項,免得因選項太多而打擊了學習的信心。一.常用編譯命令選項 假設源程式檔名為test.c。1.無選項編譯鏈結 用法 g...

gcc編譯命令

一 gcc的編譯過程分為四個過程 1.預處理 也稱預編譯,preprocessing 生成.i的檔案 2.編譯 compilation 將預處理後的檔案轉換成組合語言,生成.s檔案 3.彙編 assembly 彙編變為目標 機器 生成.o的檔案 4.鏈結 linking 連線目標 生成可執行程式 二...