dlopen中幾個flag的區別

2021-04-21 10:01:06 字數 424 閱讀 3707

dlopen中幾個flag的區別:rtld_lazy rtld_now rtld_global

void *dlopen(const char *filename, int flag);

其中flag有:rtld_lazy rtld_now rtld_global,其含義分別為:

1、rtld_lazy:在dlopen返回前,對於動態庫中存在的未定義的變數(如外部變數extern,也可以是函式)不執行解析,就是不解析這個變數的位址。

2、rtld_now:與上面不同,他需要在dlopen返回前,解析出每個未定義變數的位址,如果解析不出來,在dlopen會返回null,錯誤為:

: undefined symbol: ***x.......

3、rtld_global:它的含義是使得庫中的解析的定義變數在隨後的隨後其它的鏈結庫中變得可以使用。

dlopen中幾個flag的區別

dlopen中幾個flag的區別 rtld lazy rtld now rtld global void dlopen const char filename,int flag 其中flag有 rtld lazy rtld now rtld global,其含義分別為 1 rtld lazy 在dl...

Git幾個區的關係

1 工作區 在pc中能看得到的建立的乙個管理倉庫的目錄。比如目錄下gittest裡的檔案 git隱藏目錄版本庫除外 或者以後需要再新建的目錄檔案等等都屬於工作區範疇。2 版本庫 repository 工作區有乙個隱藏目錄.git,這個不算工作區,而是git的版本庫。git的版本庫里存了很多東西,其中...

TCP協議中FLAG的含義

tcp flag 標記 基於標記的tcp包匹配經常被用於過濾試圖開啟新連線的tcp資料報。示例 乙個虛擬連線的建立是通過三次握手來實現的 1.b syn a 假如有伺服器a 客戶機b.當b要和a通訊時,b首先向a發乙個syn synchronize 標記的包,告訴a請求建立連線.注意 乙個 syn包...