dynamic-linking

    1熱度

    1回答

    僅使用其內存映像可以提取已加載共享庫的導出符號? 我在說的是.dynsym部分列出的符號。據我所知,我們可以這樣: 找到庫的基地址。 例如,通過讀取/proc/<pid>/maps,可以找到從磁盤庫中映射的內存區域,然後我們可以查找ELF魔術字節以找到ELF標頭,從而爲我們提供基地址。 從程序頭中找到PT_DYNAMIC段。 解析ELF標題,然後遍歷程序標題以找到包含.dynamic部分的段。 提

    0熱度

    1回答

    我需要爲Windows和Linux平臺上的C++代碼庫動態創建和鏈接庫。 我知道DLL格式是windows和.so是linux平臺的。 但我讀.so也可以鏈接到Windows平臺上。 我的問題是,我可以創建一個通用的動態庫(.so)在Windows和Linux上運行我的應用程序嗎?如果是,如何?

    6熱度

    3回答

    有一個DLL,由主(桌面)應用程序通過Windows.LoadLibrary動態加載。這是因爲有很多類似的DLL,只有少數幾個需要在運行時加載。所以靜態鏈接不是一種選擇。 問題是,加載其中一個DLL時,每隔一段時間主應用程序就會掛起。請注意,這個問題很可能會發生在每一個人身上。可能是因爲他們有很多共同的代碼庫。 問題似乎是一個裝載機鎖(see this SO answer on what it i

    2熱度

    1回答

    我正在Rust中構建二進制可執行文件,它需要鏈接到本機庫,如foo.a。 foo.a包含一個符號void bar(void),我想將它作爲一個回調函數公開給動態鏈接器,該函數可以在dlopen風格的動態加載庫中被函數調用。 如果我們使用C來源,可以通過提供-rdynamic來完成ld。 gcc -rdynamic -o a_dynamic main.c foo.c 在Rust中這樣做的正確方法

    1熱度

    2回答

    我有一個由CMake自動生成的vcxproj文件構建的64位本機庫。部分CMake構建腳本自動生成csharp中的Swig文件。我使用下面標記爲.csproj的.csproj生成.cs文件,該文件標記爲Articaft 1。然後,我有一個C#單元測試項目神器2低於它引用從Articaft 1產生的.dll文件。 Articafct 2也複製由64位原生庫生成的dll。 如果我編譯爲32位庫一切工作

    1熱度

    1回答

    試圖構建UltraDefrag。 聽起來相當簡單,但只要將rc.o添加到二進制文件的鏈接對象中,就會使用32位版本的comctl32.dll在程序啓動時觸發0xc0000007錯誤。 這是一個已知的bug mingw64,但錯誤沒有答覆自2011年以來,我需要爲這個一種解決方法(該程序需要不使用cygwin.dll,所以我不能用cygwin)。 任何想法?

    4熱度

    1回答

    可能最短的工作的例子,我能想到的: 的CMakeLists.txt: project(myprogs) cmake_minimum_required(VERSION 2.8) add_executable(myprog2 main.c) add_executable(myprog main.cpp) add_library(mylib SHARED mylib.c) target_l

    0熱度

    2回答

    我有一些提升相關的代碼我想要編譯爲一個動態庫: g++ -Wall -fPIC -o myclass.o -c myclass.cpp g++ -shared -Wl,-soname,myclass.so.1 -o lib/myclass.so.1 myclass.o -lc 但是編譯我發現還是有提升的依賴(我與ldd檢查)後 ldd lib/myclass.so.1 linux-vdso

    0熱度

    2回答

    問題: 當我嘗試打開一些應用程序我從鏈接錯誤是這樣的: /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1: undefined symbol: _ZN6QDebugD1Ev 影響某些應用程序 texstudio顯示 /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1: undefined symbol: _ZN6

    1熱度

    1回答

    試圖動態鏈接庫時,我得到了一些麻煩。 我的其他專題,並搜查了維基,發現兩個有趣的鏈接: Dynamically load a function from a DLL Tutorial: Using Dynamic Linked Libraries in C++Builder Applications 然而,當我嘗試我的圖書館動態我得到懸而未決鏈接在我applicationk外,這裏的文件: Cri