1. 程式人生 > >linxu下隱式呼叫so庫

linxu下隱式呼叫so庫

最近,一直在編寫跨平臺的介面庫,庫都編寫成了linux下的so庫檔案,涉及到了對so的呼叫問題,在windows下,有對動態連結庫的兩種方式載入,一是顯示載入,即:手動load庫,二是隱式載入庫,即:只需要標頭檔案和lib檔案,標頭檔案在編譯過程需要,lib檔案在連結過程需要,即可在程式中直接呼叫庫,而不需要手動載入了,而在linux下,顯示載入的方式和window是一樣的,而linux下隱式載入需要注意幾點,第一,標頭檔案還是需要指定的,第二,在宿主程式中通過連結選項-l指定so庫檔案,在linux並不需要lib檔案來支援連結過程,那麼我猜想so檔案中已經有了連結過程需要的東西,最後,在連結選項的名稱上需要注意,比如:我的庫檔名稱為libmy.so,那麼連結選項應該是-lmy即可,也就是說不要加簽名的lib和後面的so,這算是linux的特殊方式吧,所以生成的so庫檔案,名稱上一定要為libname
.so格式,中間的name為你的庫檔名字,前面為lib和後面為so。