欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Linux C語言動態(tài)庫及靜態(tài)庫

 更新時間:2017年01月11日 09:53:42   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談Linux C語言動態(tài)庫及靜態(tài)庫。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

假設(shè)在math目錄下已編輯好add.c sub.c div.c mul.c func_point.c文件,func_point.c為包含main()的源文件!

動態(tài)庫的制作:

方法一:

gcc -c -fPIC add.c sub.c div.c mul.c //-c表示生成.o目標文件,-f后加一些編譯選項,PIC表示與位置無關(guān)

gcc -shared -o libmymath.so add.o sub.o mul.o div.o//創(chuàng)建共享庫mymath,添加add.o,sub.o,mul.o,div.o目標文件

sudo mv libmymath.so /usr/lib

gcc func_point.c -lmymath//-l后面加動態(tài)鏈接庫名字

方法二:

gcc -c -fPIC add.c sub.c div.c mul.c //-c:生成.o目標文件,-f后加一些編譯選項,PIC表示與位置無關(guān)

gcc -shared -o libmymath.so add.o sub.o mul.o div.o//創(chuàng)建共享庫mymath,添加add.o,sub.o mul.o div.o目標文件

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.//注意此操作后把當前目錄加入環(huán)境變量中

gcc func_point.c -L. -lmymath//-l后面加動態(tài)鏈接庫名字

方法三:

gcc -c -fPIC add.c sub.c div.c mul.c //-c:生成.o目標文件,-f后加一些編譯選項,PIC表示與位置無關(guān)

gcc -shared -o libmymath.so add.o sub.o mul.o div.o//創(chuàng)建共享庫mymath,添加add.o,sub.o mul.o div.o目標文件

sudo vi /etc/ld.so.conf//把你的動態(tài)庫路徑加入此文件中

sudo ldconfig

gcc func_point.c -L. -lmymath//-l后面加動態(tài)鏈接庫名字

ldd   顯示可執(zhí)行程序所需的共享庫。

定義好框架,不斷增加動態(tài)庫!!

靜態(tài)庫制作:

ar -crs libmymath.a add.o sub.o div.o mul.o/*創(chuàng)建靜態(tài)庫mymath,添加add.o,sub.o,mul.o,div.o,-c:創(chuàng)建歸檔文件 -r:插入 -s:若歸檔文件中包含了對象模式,可利用此參數(shù)建立備存文件的符號表  ar -crs libmymath.a *.o */
gcc func_point.c -L. -lmymath//-L在哪個目錄下找?guī)?-l找哪個庫,-lm可以鏈接到標準算數(shù)庫,-lpthread可以連接到Linux標準線程庫
ar -d libmymath.a add.o//刪除一個
ar -r libmymath.a add.o//增加一個

靜態(tài)庫在程序鏈接時用到,鏈接器把程序所需的代碼從靜態(tài)庫中拷貝到可執(zhí)行程序中,可執(zhí)行程序會增大;動態(tài)庫在程序加載時用到,程序在加載時,會先檢查需要哪些動態(tài)庫連接,然后從內(nèi)存中找到這些動態(tài)庫的地址,最后加載動態(tài)庫運行程序。

以上這篇淺談Linux C語言動態(tài)庫及靜態(tài)庫就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • apache偽靜態(tài)與iis偽靜態(tài)規(guī)則與配置區(qū)別介紹

    apache偽靜態(tài)與iis偽靜態(tài)規(guī)則與配置區(qū)別介紹

    本文章來總結(jié)一下關(guān)于apache偽靜態(tài)與iis偽靜態(tài)區(qū)別介紹,主要講到了一些規(guī)則的問題與配置區(qū)別,以后大家就可以直接在iis偽靜態(tài)轉(zhuǎn)換apache,反之也很簡單哦,需要了解的碰可以參考下
    2012-12-12
  • Linux移動文件與目錄-mv命令的10個實用例子

    Linux移動文件與目錄-mv命令的10個實用例子

    在Linux中很重要也很基礎(chǔ)的一個命令就是mv移動或重命名文件與目錄命令。當你想要將文件從一個位置移動到另一個地方并且不想復制它,那么mv 命令是完成這個任務(wù)的首選。下面這篇文章給大家詳細介紹了使用mv命令的10個實用例子,有需要的朋友們可以參考借鑒。
    2017-01-01
  • 在 Ubuntu 上安裝 Protobuf 3 的教程詳解

    在 Ubuntu 上安裝 Protobuf 3 的教程詳解

    這篇文章主要介紹了在 Ubuntu 上安裝 Protobuf 3遇到問題及解決方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-06-06
  • htaccess Rewrite中文編碼問題解決方法

    htaccess Rewrite中文編碼問題解決方法

    Seo方面對于中文地址或則文件名,在Google好像比重要大一些,今天正好看到andy的文章.轉(zhuǎn)下,以后也許會用.
    2008-10-10
  • linux網(wǎng)絡(luò)參數(shù)配置方法詳解

    linux網(wǎng)絡(luò)參數(shù)配置方法詳解

    這篇文章主要介紹了linux網(wǎng)絡(luò)參數(shù)的配置方法,這樣可以讓你的服務(wù)器訪問網(wǎng)絡(luò),主要參數(shù):IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS
    2013-11-11
  • 詳解linux下nohup日志輸出過大問題解決方案

    詳解linux下nohup日志輸出過大問題解決方案

    這篇文章主要介紹了詳解linux下nohup日志輸出過大問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • lanmp(Linux Apache Nginx Mysql Php) 的安裝配置

    lanmp(Linux Apache Nginx Mysql Php) 的安裝配置

    lanmp(Linux Apache Nginx Mysql Php) 的安裝配置,需要的朋友可以參考下。
    2010-11-11
  • Ubuntu中Opencv的安裝使用教程

    Ubuntu中Opencv的安裝使用教程

    Opencv就不解釋了,是個很有名的圖形庫。下面這篇文章主要介紹了Ubuntu中Opencv安裝使用的相關(guān)資料,文中介紹的非常詳細,需要的朋友們下面來一起看看吧。
    2017-04-04
  • Linux下獨立添加PHP擴展模塊mbstring的方法

    Linux下獨立添加PHP擴展模塊mbstring的方法

    Linux下獨立添加PHP擴展模塊mbstring的方法,需要的朋友可以參考下。
    2010-05-05
  • CentOS 7安裝配置圖文教程

    CentOS 7安裝配置圖文教程

    這篇文章主要為大家詳細介紹了CentOS 7安裝配置圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論