linux中把.c的文件編譯成.so文件
linux中共享庫(kù)以so為后綴(shared object),與Windows下的DLL類似,是在程序運(yùn)行時(shí)動(dòng)態(tài)連接。多個(gè)進(jìn)程可以連接同一個(gè)共享庫(kù)。
以下以編譯mylib.c為例講如何編譯.so文件。
首先,編譯mylib.c:
$gcc -c -fPIC -o mylib.o mylib.c
-c表示只編譯(compile),而不連接。-o選項(xiàng)用于說(shuō)明輸出(output)文件名。gcc將生成一個(gè)目標(biāo)(object)文件mylib.o。
注意-fPIC選項(xiàng)。PIC指Position Independent Code。共享庫(kù)要求有此選項(xiàng),以便實(shí)現(xiàn)動(dòng)態(tài)連接(dynamic linking)。
生成共享庫(kù):
$gcc -shared -o mylib.so mylib.o
庫(kù)文件以lib開(kāi)始。共享庫(kù)文件以.so為后綴。-shared表示生成一個(gè)共享庫(kù)。
總結(jié)
以上所述是小編給大家介紹的linux中把.c的文件編譯成.so文件,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Linux運(yùn)維工具Supervisor的安裝使用(進(jìn)程管理工具)
這篇文章主要介紹了Linux運(yùn)維工具Supervisor的安裝使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-026種查看Linux進(jìn)程占用端口號(hào)的方法詳解
對(duì)于 Linux 系統(tǒng)管理員來(lái)說(shuō),清楚某個(gè)服務(wù)是否正確地綁定或監(jiān)聽(tīng)某個(gè)端口,是至關(guān)重要的,本文為大家分享6種查看Linux進(jìn)程占用端口號(hào)的方法分別是:ss,netstat,lsof fuser,nmap,systemctl2018-10-10Centos6.5搭建java開(kāi)發(fā)環(huán)境配置詳解
這篇文章主要介紹了Centos6.5搭建java開(kāi)發(fā)環(huán)境配置詳解,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2016-12-12CentOS 5.1下跑Mono和Asp.net的實(shí)現(xiàn)方法分享
由于想研究在linux下跑.net程序的可行性,于是嘗試在CentOS5.1下搭建Mono環(huán)境和Asp.Net的服務(wù)器。Asp.Net的服務(wù)器是采用mod_mono和Apache的方式搭建(Nginx的搭建尚未研究)2012-04-04在Linux中打開(kāi)、提取和創(chuàng)建rar文件的操作方法
RAR 是一種流行的文件壓縮格式,以其高效的壓縮算法和將大文件壓縮為較小檔案的能力而聞名,雖然 Linux 本身支持 ZIP 和 TAR 等常見(jiàn)檔案格式,但處理 RAR 文件需要額外的工具,在這篇博文中,我們將探討如何在 Linux 中打開(kāi)、提取和創(chuàng)建 RAR 文件,需要的朋友可以參考下2024-04-04Linux下利用python實(shí)現(xiàn)語(yǔ)音識(shí)別詳細(xì)教程
早期語(yǔ)音識(shí)別系統(tǒng)僅能識(shí)別單個(gè)講話者以及只有約十幾個(gè)單詞的詞匯量?,F(xiàn)代語(yǔ)音識(shí)別系統(tǒng)已經(jīng)取得了很大進(jìn)步,對(duì)于 Python 使用者而言,一些語(yǔ)音識(shí)別服務(wù)可通過(guò) API 在線使用,且其中大部分也提供了 Python SDK,感興趣的小伙伴可以參考閱讀2023-03-03