日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux中动态链接库用扩展名,Linux操作系统下动态库的生成及链接方法是什么?...

發布時間:2023/12/18 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux中动态链接库用扩展名,Linux操作系统下动态库的生成及链接方法是什么?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux下動態庫文件的擴展名為"。so"(Shared Object)。按照約定,所有動態庫文件名的形式是libname。so(可能在名字中加入版本號)。這樣,線程函數庫被稱作libthread。so。靜態庫的文件名形式是libname。a。

共享archive的文件名形式是libname。sa。共享archive只是一種過渡形式,幫助人們從靜態庫轉變到動態庫。

本文僅以簡單的例子介紹動態庫文件的生成和鏈接方法。

操作系統:Debian/GNU Linux 2。6。21-2-686; GCC版本:4。

1。3

一、庫文件及測試文件代碼

庫文件及測試文件所在的目錄:/home/program/。

1。庫文件名:myfunction。c/*Author: Godbach

E-mail: nylzhaowei@163。com*/#include intmy_lib_function (void){

printf ("Library routine called from libmyfunction。

so!\n");

return 0;}

2。測試文件名:test。c#include int main(void){

my_lib_function();

return 0;}

二、動態庫的編譯方法

編譯庫文件myfunction。

c:debian:/home/program# gcc -shared -o libmyfunction。so myfunction。c

如果編譯成功,會在/home/program/下生成動態庫文件:libmyfunction。so。

這里有兩點需要說明:

1。

對Linux操作,一般都推薦在普通用戶模式下,如果需要超級用戶的權限,則可以通過su root,輸入root用戶密碼切換。我是個人學習使用,同時又有很多的操作都要使用root用戶,因此就直接在root用戶下進行編譯。

2。編譯生成動態庫的命令為:gcc (-fpic) -shared -o libmyfunction。

so myfunction。c

-fpic 使輸出的對象模塊是按照可重定位地址方式生成的。

-shared指定把對應的源文件生成對應的動態鏈接庫文件。

三、動態庫的測試方法

編譯測試文件test。c:debian:/home/program# gcc -o test test。

c /home/program/libmyfunction。so

成功編譯后,生成test文件,運行test:debian:/home/program# 。/test Library routine called from libmyfunction。

so!

其中,gcc -o test test。c /home/program/libmyfunction。so的最后一個參數指定所鏈接庫文件的絕對路徑。本例中庫文件的絕對路徑為:/home/program/libmyfunction。so。

當然,如果想從系統的庫文件路徑(通常系統函數庫的位于/usr/lib下)鏈接動態庫的話,可以先將生成的庫文件拷貝至/usr/lib/下,然后再鏈接:debian:/home/program# cp libmyfunction。so /usr/lib/debian:/home/program# gcc -o test test。

c -lmyfunctiondebian:/home/program# 。/test Library routine called from libmyfunction。so!

這里,對于鏈接的方法作一下解釋。對于gcc -o test test。

c -lmyfunction中最后一個參數-lmyfunction, 可見傳給C編譯器的命令行參數并未提到函數庫的完整路徑名,甚至沒有提到在函數庫目錄中該文件的完整名字!實際上,編譯器被告知根據選項-lmyfunction鏈接到相應的函數庫(/usr/lib下),函數庫的名字是libmyfunction。

so, 也就是說,"lib"部分和文件的擴展名被省略了,但在前面加了一個l。

全部

總結

以上是生活随笔為你收集整理的linux中动态链接库用扩展名,Linux操作系统下动态库的生成及链接方法是什么?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩在线播放视频 | 俄罗斯一级片 | 天天做天天爱 | 久久成人乱码欧美精品一区二区 | 脱女学生小内内摸了高潮 | 国产精品视频免费网站 | 超碰在线中文字幕 | 亚洲最大的成人网 | 夜夜撸av | 久久香蕉精品视频 | 男生女生操操操 | 成人动漫在线免费观看 | 九热这里只有精品 | 久热青草 | 国产精品久久久久毛片软件 | 2021狠狠操 | 婷婷国产 | 中文一区视频 | av在哪里看 | 免费观看av | 国产农村妇女精品一二区 | 一级片特黄 | 亚洲国产tv| 1024日韩 | 日本一区二区三区在线观看视频 | 中文字幕高潮 | 精品一区二区三区无码按摩 | 在线视频免费观看你懂的 | √资源天堂中文在线 | 骚虎视频在线观看 | 一级大片免费看 | 国产做爰视频免费播放 | 在线观看午夜 | 亚洲视频 中文字幕 | 国产区精品在线 | 在线不卡一区二区 | 性做久久久久久免费观看欧美 | 蜜桃av噜噜一区二区三区小说 | 亚洲午夜久久久久 | 日本aa大片 | 99精品国产成人一区二区 | 伊人黄网| 日本bbwbbw| 97超碰伊人 | 中文字幕精品三区 | 兔费看少妇性l交大片免费 日韩高清不卡 | 欧美性猛交ⅹxx | 国产成年妇视频 | 国产福利影院 | 人人爽人人澡 | 999久久 | 香蕉a | 亚洲综合久久久 | 好男人www社区在线视频夜恋 | 成人导航网站 | 欧美日韩亚洲国产一区 | 日本xxx在线播放 | a在线v| 国产在线精品一区 | 欧美日韩在线观看一区二区三区 | 九九碰| 黄色网av | 农村妇女毛片精品久久久 | 亚洲成人av片 | 奶水旺盛的少妇在线播放 | yy4138理论片动漫理论片 | a∨鲁丝一区鲁丝二区鲁丝三区 | 一区二区三区爱爱 | av字幕网 | 91亚洲在线 | 网站黄在线观看 | 打美女屁股网站 | 777国产成人入口 | 欧美wwwwww| 亚洲高清不卡 | 综合在线观看 | 国产视频在线观看免费 | 一本之道高清无码视频 | 中文字幕久久久久 | 九九黄色大片 | 男女瑟瑟视频 | 欧美一区二区在线看 | 欧美夫妻性生活视频 | 国产精品午夜在线观看 | 激情欧美日韩 | 国产91精品高潮白浆喷水 | 不卡视频免费在线观看 | 在线看片中文字幕 | 黄色三级小视频 | 亚洲午夜精品 | 亚洲国产精品无码专区 | 青草福利| 少妇69xx| 欧美日韩国产一区二区三区在线观看 | 成人高潮片 | 午夜精品久久久 | 国产3p露脸普通话对白 | 小柔好湿好紧太爽了国产网址 | 丁香六月五月婷婷 |