動態庫的依賴關係

2021-08-24 23:15:48 字數 401 閱讀 5862

dll動態庫是非常常用的技術手段,經常會發生巢狀的情況,一不小心系統就提示你缺少某個dll,從而某個函式不能用。今天做了個小測試,記錄如下。

1、 動態庫a產生後的檔案 a.h、a.dll、a.lib

2、 動態庫b呼叫a的方法,所需a的檔案a.h、a.dll、a.lib,同時生成b.h、b.dll、b.lib。

3、 測試例子c呼叫b方法,所需檔案b.h、b.dll、b.lib、a.dll。

4、 c.exe執行所需檔案b.dll、a.dll。

總結:

1、.lib在參加完編譯生成其他dll或exe之後,.lib檔案就不需要了。

2、只要用到動態庫內的方法,就必須使用其dll。

3、引用的標頭檔案不要出現在介面檔案中,不然你得帶著它跟著你的介面檔案一起。

多動態庫依賴

0.介紹 0.1 靜態庫 靜態庫是一些目標檔案的集合,通常為字尾為.o 的檔案,通過ar 工具打包而成,命名 格式為lib a 其中 為給定的靜態庫檔名。在建立可執行程式的過程中,靜態庫同時被鏈結到程式 被主程式呼叫的函式目標檔案連 同主程式組合成單一的可執行程式。靜態庫只在程式鏈結時起作用,最終的...

遮蔽動態庫之間的依賴

假定 程式用到了動態庫b,b又用到了動態庫c,那麼在編譯 的時候,需要在鏈結符號連指定c嗎?如果能不指定的話,是最好的。cat hello.c extern void foo void void hello void cat foo.c void foo void cat test.c extern...

Linux 檢視動態庫依賴

檢視動態庫依賴3種方法 1 ldd bin grep linux gate.so.1 0xffffe000 libc.so.6 lib libc.so.6 0xb7eca000 lib ld linux.so.2 0xb801e000 2 ld trace loaded objects 1 bin ...