gcc基本引數以及動 靜態庫的封裝

2021-10-09 05:23:35 字數 1191 閱讀 8963

gcc/g++編譯器在處理.c檔案/.cpp檔案時會經過四步步驟:

gcc -e hello.c -o hello.i
gcc -s hello.i -o hello.s
gcc -c hello.s -o hello.o
gcc hello.o -o hello
注意:鏈結生成的目標檔案不用寫exe字尾。

引數作用

- c只編譯不鏈結,生成目標檔案.o

- s只編譯不彙編,生成彙編**

- e只進行預編譯,不做其他處理

- d macro

新增macro巨集命令

- o file

把輸出檔案輸出到file裡

- l dir

在標頭檔案的搜尋路徑列表中新增dir目錄(i的大寫)

- i library

鏈結名為library的庫檔案 (l的小寫)

- l dir

在庫檔案的搜尋路徑列表中新增dir目錄

- static

鏈結靜態庫

- shared

生成共享目標檔案。用於建立動態庫

linux和windows的靜態庫檔案均可以.a結尾。

//生成方法:

gcc -c fun2.c fun3.c //將需要封裝的fun2.c和fun3.c編譯成相應的二進位制檔案

ar -r libfun.a fun2.o fun3.o //將fun2.o和fun3.o封裝到fun.a檔案中

//呼叫方法:

gcc main.c –lfun -l. –o main //將main.c檔案鏈結fun靜態庫,生成main.exe檔案

注意:靜態庫的命名方式為lib***.a

linux中動態庫檔案一般以.so結尾,windows中動態庫檔案一般以.dll結尾。

//生成方法:

gcc fun.c -i. -fpic -shared -o fun.dll //將fun.c生成生成動態庫檔案fun.dll

//呼叫方法:

gcc main.c -i. -l. -lfun -o main //將main.c鏈結動態庫生成main.exe可執行檔案

謝謝大家**

工業相機基本引數以及選型參考

工業相機基本引數以及選型參考 解析度相機每次採集影象的畫素點數,一般對應於光電感測器靶面排列的像元數,如1920 1080。畫素深度 每位畫素資料的位數,常見的是8bit,10bit,12bit。解析度和畫素深度共同決定了影象的大小。例如對於畫素深度為8bit的500萬畫素,則整張應該有500萬 8...

工業相機基本引數以及選型參考(二)

相機每次採集影象的畫素點數,一般對應於光電感測器靶面排列的像元數,如1920 1080。每位畫素資料的位數,常見的是8bit,10bit,12bit。解析度和畫素深度共同決定了影象的大小。例如對於畫素深度為8bit的500萬畫素,則整張應該有500萬 8 1024 1024 37m 1024bit ...

WiFi基本引數

分享幾個wifi的幾個核心引數 beacon interval 間隔調高有助於無線網路效能 client 端省電,間隔調低可以加快wireless client 鏈結上去速度 beacon傳送頻繁frame會比較占用無線頻寬資源 beacon 單位通常以微秒 millsecond 為單位 1 100...