国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

1.庫+makefile

2023-04-28 20:03 作者:M青春永不言棄  | 我要投稿

功能:移植性,封裝性,保護源碼


分類: 靜態(tài)庫??.a

? ? ? ? ???動態(tài)庫??.so

一、

靜態(tài)庫:libXXX.a

1、??準(zhǔn)備功能函數(shù)的.c文件

將所有功能函數(shù)的.c文件編譯為.o文件

2、?打包生成靜態(tài)庫: ar -rc libxxx.a add.o...

libStatic.a ?庫名要掐頭去尾:Static

3、?利用靜態(tài)庫編譯程序

gcc main.c ?-l庫名 -L庫的路徑

-l:(小寫的L)指明用到的庫文件

-L:庫文件所在的的路徑

特點:以空間換取時間



二、

libdong.so ?動態(tài)庫

1、先準(zhǔn)備功能函數(shù)的 .c

2、將.c ?轉(zhuǎn)化為 .o

將所有功能函數(shù)的.c文件編譯為.o文件


3、打包生成動態(tài)庫 ?libxxx.so

gcc ?-fpic ?-shared ?xxx.o yyy.o -o?libxxx.so

或 gcc -shared -fpic *.o -o libdong.so

4、

第一步:將動態(tài)庫拷貝到/usr/lib

第二步:編譯應(yīng)用程序 gcc main.c -lxxx ?

-l:(小寫的L)指明用到的庫文件

sudo cp libdong.so /usr/lib

驗證:gcc mian.c -o main -ldong

特點:./main 以時間換空間?




三、

makefile

make

1、作用

相當(dāng)于腳本編程語言,本質(zhì)是實現(xiàn)自動化編譯,需要makefile或者Makefile文件支持

2、安裝

sudo apt-get install make

3、使用

makefile/Makefile是一個文件,可以用vim或者gedit編輯

格式:

目標(biāo):依賴

? ?(Tab)命令

整體思想:目標(biāo)和依賴的關(guān)系,命令就是來定義由依賴如何生成目標(biāo)的

???????注意:命令之前要有tab鍵不允許有空格

?

注釋: 以#開頭

?

變量

定義: 變量名=XXX

使用: $(變量名)

?

特殊變量:

$@ 目標(biāo)文件

$^ 所有的依賴文件

如果目標(biāo)文件中有多個重復(fù)的,那么這個變量會除去重復(fù)的依賴文件,只保留一份。

?


$< 所有依賴合集中的第一個依賴文件

如果依賴目標(biāo)是以模式(%)定義的,那么$<將是復(fù)合模式的一系列的文件集合,注意,是一個一個取出來的,和目標(biāo)一對一執(zhí)行命令。

%表示通配符

?


偽目標(biāo):沒有依賴的目標(biāo)

格式:

目標(biāo):

(Tab)命令

舉例:

clean:

rm *.o main

?

運行:

終端輸入:make

make默認(rèn)生成文件中的第一個目標(biāo)

要想從生成其他目標(biāo):make 目標(biāo)

備注:

多個makefile

? make的時候是需要有makefile文件來支持

直接make:會找??Makefile??或?makefile(先找makefile,沒有就找Makefile)

想要指定:make -f makefile或者make -f Makefile

?

?

?

?


1.庫+makefile的評論 (共 條)

分享到微博請遵守國家法律
涪陵区| 德州市| 长武县| 那曲县| 荃湾区| 修武县| 闽侯县| 阳曲县| 汉阴县| 华宁县| 景德镇市| 图木舒克市| 新乡市| 浪卡子县| 蓝山县| 静乐县| 晋宁县| 句容市| 崇州市| 开原市| 达孜县| 葵青区| 方山县| 安庆市| 霍山县| 云安县| 镇赉县| 景泰县| 锦屏县| 银川市| 永济市| 栾川县| 江西省| 平邑县| 庆云县| 宁城县| 定安县| 育儿| 雷州市| 绿春县| 彭阳县|