dynamic-linking

    2熱度

    2回答

    今天我在面試中被問到這個問題。不幸的是,我不確定我是否正確地在這裏複製了它。我只記得,我沒有很好地理解它。這個問題可能是 「加載靜態和動態編譯的dll 會導致什麼問題?」 我不知道答案,但面試官告訴我,至少有兩個主要問題: 運行時庫:可以有一些不兼容的分配和去分配的記憶。 不幸的是,在這裏我們被打斷了,我們沒有回到這個問題。 請問,你能幫我理解這個問題可能是什麼,以及答案是什麼? 我也很不理解第一

    2熱度

    1回答

    動態鏈接庫時,有一種方法可以指定後備符號,以防在加載時丟失一個符號。 例如編譯一個MEX文件而不是mxCreateNumericArray我想調用mxCreateUninitNumericArray(具有相同的簽名)。但後者不適用於較老的MATLAB版本。與mxArrayToString和mxArrayToUTF8String相同。 對於MSVC,我已經能夠使用/ DELAYLOAD並掛接到__p

    4熱度

    2回答

    我知道在典型的ELF二進制文件中,函數通過過程鏈接表(PLT)進行調用。函數的PLT條目通常包含跳轉到全局偏移表(GOT)條目。該條目將首先引用一些代碼將實際函數地址加載到GOT中,並在第一次調用(延遲綁定)後包含實際函數地址。 準確地說,在延遲綁定之前,GOT條目返回到PLT中,指向跳轉到GOT之後的指令。這些指令通常會跳到PLT的頭部,從那裏調用一些綁定例程,然後更新GOT條目。 現在我想知道

    2熱度

    1回答

    直觀: 的MinGW-W64是GNU編譯器工具(GCC等)的Windows端口。 對Windows預編譯的二進制文件是.dll(動態鏈接)/ .lib(靜態鏈接)。 然而,MinGW的-W64使用GNU編譯工具,它會按照所需.so/.a二進制文件。 我找到了什麼: 據Red Hat Enterprise Linux documentation,似乎MinGW的/ MinGW的-W64/Cygwin

    0熱度

    1回答

    我有一個共享庫A.so。在其中定義了一個函數foo()。這個foo()函數依賴於共享庫libnl-1.so。關係如下: A.so { foo() => libnl-1 } 我有一個程序app。它調用兩個函數,foo()和bar()。 bar()需要另一個版本的libnl,libnl-3。關係如下: app { foo() bar() =>

    0熱度

    1回答

    我有一個publicly-available FMU我試圖將嵌入式.so文件與我的程序的其餘部分鏈接。 (如果您查看作爲歸檔這個包含在.fmu文件中。)在鏈接階段我得到以下未定義的引用錯誤: RoomHeating_OM_RH.so: undefined reference to '[email protected]_2.11' RoomHeating_OM_RH.so: undefined re

    0熱度

    1回答

    我在wordpress的主題文件夾和使用該模板的頁面中添加了新模板。在我的PHP腳本存在具有的onClick功能的按鈕: <INPUT TYPE="button" onClick="parent.location='MYQUIZTABLE.php'" VALUE="SEND"> 按鈕(按下後)應該鏈接到其它PHP腳本(稱爲MYQUIZTABLE.php),但「404未找到」顯示在本地主機。我應

    0熱度

    1回答

    可以說我有一個名爲P的程序,它與庫動態鏈接。當調用一個函數,它是在與-fPIC我瞭解這些事情發生編譯共享庫 有類似call [email protected]在P 這則跳轉到PLT表的代碼,以適當的條目 從那裏,我們跳轉到相應的GOT切入點 如果這是這個函數的第一個電話,那麼這是當組合開始發生的瞬間和GOT條目將指引我們回到在綁定代碼 PLT條目所以綁定代碼然後查找函數的地址,並把該地址值到GOT

    2熱度

    1回答

    我一直在玩Raspberry Pi(Raspian/DietPi - Jessie)this庫,並遇到了一個奇怪的情況。我做了一些局部變化,建立,並安裝像這樣的庫: cmake .. sudo make install sudo ldconfig 但是後來我提出了整改意見,然後建庫和安裝庫,但沒有運行「ldconfig命令」命令。我運行了使用這些動態鏈接庫的程序,它與更新後的庫一起工作。

    1熱度

    1回答

    問題我最近看了這個問題How to statically link to TBB?,我仍然沒有真正理解與使用TBB作爲靜態鏈接庫(如果你做make extra_inc=big_iron.inc tbb這可能與他們的makefile) 的問題回答似乎表示問題是單個程序中可能存在多個單身人士,單身人士的所有(大多數)實施都不會讓這種情況發生。我不明白這背後的原因。 是問題,當你fork()另一個進程的