====動態庫說明====1.庫名稱格式: lib + the_name_of_library + .so + version_number exp:libc.so.62.ldconfig一般會創建soname,但不創建linker name(libname.so),后者一般安裝庫時創建3.暫時添加動態庫目錄LD_LIBRARY_PATH,一般用于測試和開發4.LD_PRELOAD預加載庫。用于提前加載,緊急用途,或是特殊的測試情況5.創建動態庫 gcc -fPIC -shared -Wl,-soname, your_soname -o library_name / file_list library_list6.ldconfig加載目錄順序 按照配置目錄的順序執行 遇到include ld.so.conf.d/*.conf,這些配置的順序按照字母升序排列7.編譯程序或是庫的時候,.o文件會包含到程序或是庫中,動態庫不會,如果如果遇到 未定義的符號,搜索符號是從左往右查找庫,直到找到為止,搜索是無狀態的,不會 記錄發現了哪些符號,所以一般建議.o放在編譯選項的前面,so文件放在后面,按照 依賴順序放置:被依賴的對象放在依賴對象右邊
新聞熱點
疑難解答