gcc編譯使用靜態庫 動態庫

2021-05-24 00:26:00 字數 394 閱讀 8133

假設已經有可用的liboutprint.a和liboutprint.so.1.0.0可用,則:

$ gcc -o hello -static -l. -loutprint hello.cpp

$ gcc -o hello -l. -loutprint hello.cpp

$ export ld_library_path=$(pwd)

nm命令:列出目標檔案或2進製檔案的所有符號。

ldd命令:列出為了使程式正常執行所需要的所有共享庫。

/etc/ld.so.conf檔案:除了標準目錄(/lib和/usr/lib)之外,鏈結器和載入器搜尋共享庫時要檢查的其他目錄,和這個檔案相關的乙個命令是:ldconfig 。

gcc編譯靜態庫 動態庫

今天,乙個同事編譯靜態庫,我也趁此機會在溫習一下,先google一下,然後在自己實驗。首先,在網上抄個例子,內容如下 建靜態庫 hellos.h ifndef hello s h define hello s h void prints char str endif hellos.c include...

GCC 編譯 靜態庫 動態庫

工作流程 命名格式 lib 庫的名字 so製作 第一步 得到 o檔案 引數 fpic表示生成與位置無關 gcc i.include fpic c c第二步 建立動態庫 shared 製作動態庫 o 重新命名生成的新檔案 gcc shared o lib so o使用 命名格式 lib 庫的名字 a製...

gcc編譯靜態庫和動態庫

一 動態鏈結庫 1.建立hello.so動態庫 cpp view plain copy print?include voidhello 編譯 gcc fpic shared hello.c o libhello.so include void hello 編譯 gcc fpic shared hel...