亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

Linux下g++編譯與使用靜態庫和動態庫的方法

2020-01-26 14:07:53
字體:
來源:轉載
供稿:網友

在windows環境下,我們通常在IDE如VS的工程中開發C++項目,對于生成和使用靜態庫(*.lib)與動態庫(*.dll)可能都已經比較熟悉,但是,在linux環境下,則是另一套模式,對應的靜態庫(*.a)與動態庫(*.so)的生成與使用方式是不同的。剛開始可能會不適應,但是用多了應該會習慣這種使用,因為步驟上并沒有VS下配置那么繁瑣。

下面就分別總結下linux下生成并使用靜態庫與動態庫的方法:(由于是C++項目,所以編譯器用的g++,但是與gcc的使用是相通的)

首先是準備工作,把我們需要封裝成庫文件的函數的頭文件與源文件寫好,如下:

//myAPI.h int ADD(int a, int b); int MINUS(int a, int b); 
//myAPI.cpp #include "myAPI.h"  int ADD(int a, int b){   return a + b; }  int MINUS(int a, int b){   return a - b; } 

接下來準備一個測試用的主函數源文件:

//main.cpp #include "myAPI.h" #include <iostream>  int main(){   std::cout << "1 + 1 = " << ADD(1, 1) << std::endl;   std::cout << "1 - 1 = " << MINUS(1, 1) << std::endl;   return 0; } 

最后,先編譯我們的 myAPI.cpp 文件生成 myAPI.o 目標文件

g++ -c myAPI.cpp 

1.生成靜態庫并使用

Linux下用生成靜態庫的命令 ar 處理 myAPI.o 文件生成靜態庫文件,生成的庫文件應遵循規范,及linux下庫文件加“lib”前綴。所以針對本例,通過如下一條命令即可生成 libmyAPI.a 靜態庫:

ar crv libmyAPI.a myAPI.o 

接下來即可在項目編譯過程中利用靜態庫了,此時 myAPI.cpp 這個庫函數的定義文件已經不需要了。main.cpp 編譯命令如下(注意,依賴的靜態庫文件要放在被依賴項后面):

g++ main.cpp libmyAPI.a -o output 

編譯通過后即可運行可執行文件 output , 此時 libmyAPI.a 也已經是不需要的了。執行命令并輸出結果如下:

./output 

2.生成動態庫并使用

linux下編譯時通過 -shared 參數可以生成動態庫(.so)文件,如下

g++ -shared -fPIC -o libmyAPI.so myAPI.o 

生成的動態庫在編譯時需要聲明,運行時需要被依賴。聲明如下

g++ main.cpp -L. -lmyAPI -o output  

”-L.”標記告訴G++函數庫可能位于當前目錄;使用”-lmyAPI”標記來告訴G++驅動程序在連接階段引用共享函數庫libmyAPI.so。

使用時如果提示如下錯誤,則將 libmyAPI.so 移到 /usr/lib 目錄下即可:

./output 

以上這篇Linux下g++編譯與使用靜態庫和動態庫的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久精品国产91性色| 国产91精品在线播放| 亚洲iv一区二区三区| 日本三级韩国三级久久| 久热国产精品视频| 久久成人精品视频| 不卡av电影在线观看| 中文字幕一区日韩电影| 日韩av在线直播| 精品国产一区二区三区久久久狼| 久久久久久久色| 一本一本久久a久久精品牛牛影视| 在线观看日韩视频| 国产成人在线视频| 久久成人18免费网站| 午夜免费日韩视频| 中文字幕在线亚洲| 91精品国产九九九久久久亚洲| 精品视频www| 日韩在线视频观看正片免费网站| 欧亚精品在线观看| 亚洲精品自产拍| 久久精彩免费视频| 5566日本婷婷色中文字幕97| 成人妇女淫片aaaa视频| 久久久伊人日本| 精品亚洲一区二区三区四区五区| 亚洲自拍另类欧美丝袜| 欧美激情在线有限公司| 日本不卡高字幕在线2019| 欧美视频第一页| 欧美日韩国产成人在线观看| 国产亚洲a∨片在线观看| 国产亚洲精品久久久久久| 国产精品视频男人的天堂| 韩国19禁主播vip福利视频| 亚洲成人亚洲激情| 欧美日韩亚洲天堂| 国产91精品久| 成人免费淫片视频软件| 性欧美视频videos6一9| 日韩成人在线电影网| 亚洲欧美日韩区| 青草成人免费视频| 欧美精品一区在线播放| 国产成人短视频| 亚洲国产91精品在线观看| 久久精品91久久久久久再现| 日韩av不卡在线| 亚洲深夜福利视频| 精品国产拍在线观看| 欧美激情三级免费| 夜夜嗨av一区二区三区四区| 亚洲欧美精品一区| 色偷偷噜噜噜亚洲男人的天堂| 亚洲人成77777在线观看网| 欧美最顶级丰满的aⅴ艳星| 欧美理论电影在线观看| 亚洲色图日韩av| 911国产网站尤物在线观看| 国产伦精品免费视频| 麻豆乱码国产一区二区三区| 亚洲永久在线观看| 日韩av在线免费观看一区| 久久免费视频在线| 久久久久久噜噜噜久久久精品| 国产一区红桃视频| 夜夜嗨av一区二区三区免费区| 欧美视频中文字幕在线| 国产视频亚洲精品| 亚洲欧美国产精品va在线观看| 亚洲伊人久久综合| 久久九九精品99国产精品| 国语自产偷拍精品视频偷| 国产精品av电影| 精品国产成人av| 日本一欧美一欧美一亚洲视频| 精品久久久av| 啊v视频在线一区二区三区| 国产一区欧美二区三区| 日韩亚洲综合在线| 国产日韩精品视频| 在线精品高清中文字幕| 精品久久香蕉国产线看观看gif| 欧美日韩亚洲精品一区二区三区| 亚洲最大的成人网| 国产视频亚洲视频| 日韩精品极品在线观看播放免费视频| 97在线精品国自产拍中文| 欧美视频在线观看免费网址| 韩国三级日本三级少妇99| 国产精品偷伦视频免费观看国产| 米奇精品一区二区三区在线观看| 日韩美女激情视频| 久久成人一区二区| 国产欧美一区二区三区久久人妖| 欧美精品久久久久久久| 美女福利精品视频| 俺去啦;欧美日韩| 最近2019好看的中文字幕免费| 国产日韩欧美电影在线观看| 色妞在线综合亚洲欧美| 国产原创欧美精品| 久久亚洲综合国产精品99麻豆精品福利| 亚洲精品一区久久久久久| 亚洲国产精品va在线看黑人动漫| 日本高清久久天堂| 91高清免费视频| 国产免费一区二区三区在线观看| 538国产精品一区二区在线| 91欧美视频网站| 久久久久久久久爱| 亚洲a区在线视频| 精品亚洲一区二区三区四区五区| 国产精品99久久久久久www| 国产美女高潮久久白浆| 国产精品国产自产拍高清av水多| 欧美日韩免费一区| 亚洲激情第一页| 日韩免费中文字幕| 久久国产精品网站| 97视频免费在线看| 丝袜美腿亚洲一区二区| 国产网站欧美日韩免费精品在线观看| 中文字幕日韩在线视频| 精品伊人久久97| 欧美在线xxx| 亚洲成人精品久久久| 欧美夫妻性生活视频| 91精品视频专区| 国产精品免费久久久久影院| 成人激情在线播放| 91在线视频精品| 精品久久久999| 18性欧美xxxⅹ性满足| 日韩国产精品亚洲а∨天堂免| 亚洲成色777777女色窝| 欧美日韩一区二区免费在线观看| 在线日韩欧美视频| 欧美日韩国产区| 国产精自产拍久久久久久| 91精品久久久久久久久久另类| 在线视频日韩精品| 亚洲精品suv精品一区二区| 97精品国产aⅴ7777| 亚洲男子天堂网| 91精品综合视频| 久久免费精品视频| 亚洲欧洲美洲在线综合| 久久精品国产亚洲7777| 亚洲福利视频二区| 55夜色66夜色国产精品视频| 欧美国产视频一区二区| 性视频1819p久久| 中文字幕精品国产| 日本19禁啪啪免费观看www| 岛国视频午夜一区免费在线观看| 久久伊人精品视频| 欧美最猛性xxxxx免费| 国产欧美日韩亚洲精品| 最新的欧美黄色| 国产91av在线| 91最新在线免费观看| 亚洲第一中文字幕|