這篇文章主要介紹linux中如何將.c的文件編譯成.so文件,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)竹山,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108linux中共享庫以so為后綴(shared object),與Windows下的DLL類似,是在程序運(yùn)行時(shí)動(dòng)態(tài)連接。多個(gè)進(jìn)程可以連接同一個(gè)共享庫。
以下以編譯mylib.c為例講如何編譯.so文件。
首先,編譯mylib.c:
$gcc -c -fPIC -o mylib.o mylib.c
-c表示只編譯(compile),而不連接。-o選項(xiàng)用于說明輸出(output)文件名。gcc將生成一個(gè)目標(biāo)(object)文件mylib.o。
注意-fPIC選項(xiàng)。PIC指Position Independent Code。共享庫要求有此選項(xiàng),以便實(shí)現(xiàn)動(dòng)態(tài)連接(dynamic linking)。
生成共享庫:
$gcc -shared -o mylib.so mylib.o
庫文件以lib開始。共享庫文件以.so為后綴。-shared表示生成一個(gè)共享庫。
以上是“l(fā)inux中如何將.c的文件編譯成.so文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!