dlsym

    2熱度

    3回答

    的情況下,我創建一個使用dlsysm(剪切對象開放),但我收到以下錯誤: error: invalid conversion from "void*" to "void (*)()" 這裏是我的代碼: #include<iostream> #include<dlfcn.h> using namespace std; int main() { void (*fnptr)();

    1熱度

    1回答

    已經解決!See the result here。 不知道我是否在正確的地方問,但有沒有人知道基於.h文件生成dlopen和dlsym命令的正確方法? 我想動態加載SDL2 - 這是一個用C編寫的庫 - 但所有提取函數列表和他們的參數與ctags的方法似乎沒有結果(必須手動更正240個函數的參數列表3500是不好玩)。 ctags -R -x --sort=yes --c++-kinds=+p -

    4熱度

    1回答

    我知道如何使用dlsym()來查找由字符串鍵入的符號 - 當這些符號由共享庫導出時,我已經使用dlopen() ed。但是 - 其他代碼呢?只是靜態鏈接的對象代碼。有沒有可能以某種方式查找符號? 注: 如果有幫助,使有關編譯和連接過程中的任何合理的假設(如該編譯器,調試信息存在,PIC代碼等) 我感興趣更多的是在非操作系統特定的解決方案中,但如果它很重要:Linux。 涉及功能預註冊的解決方案不相

    -1熱度

    1回答

    你好我的工作是工作原理是這樣的程序: ./Filters File [filters...] 過濾器可以有很多,我想創建自己和他們APLY到文件的.so庫。但是所有庫都具有相同的功能process(a1,a2,a3),只是它們每個都做了不同的事情。 我試圖用這樣的: /*Open the library*/ if (!(descriptor_lib=dlopen(dir_filter, RTLD

    2熱度

    1回答

    我有一個JavaScriptCore框架的分支,我添加了一個我自己的函數,該函數被導出。該框架編譯只是找到。在框架運行nm揭示了功能(JSContextCreateBacktrace_unsafe)的確是出口: Leo-Natans-Wix-MPB:JavaScriptCore.framework lnatan$ nm -gU JavaScriptCore.framework/JavaScript

    1熱度

    1回答

    dlsym()的man page名單 *(void **) (&cosine) = dlsym(handle, "cos"); 作爲用於鑄造的dlsym()返回值一種解決方法。 *(void **) (&cosine)這是什麼意思?據我所知cosine是一個先前定義的函數指針,但我不知道爲什麼在名稱前需要使用&符號&(錯誤沒有&)。此外,我不知道爲什麼指針void *(void **)再次與*

    1熱度

    2回答

    我需要從使用C++的Solaris 10上的當前可執行文件中知道函數地址(我正在使用GNU g ++ 4.9.2)。例如,我有一個函數說:void doSomething(const char * p),它可能會或可能不會在當前的可執行文件中定義。所以,我想搜索當前可執行文件中的函數(如果存在),然後調用該函數執行一些默認操作。我怎麼做? dlsym會幫忙嗎? 請幫助我的語法和損壞的名稱。

    3熱度

    1回答

    我正在使用dlsym在程序中查找符號,但它始終返回NULL,這並不是我期待的。根據手冊頁,如果出現錯誤,dlsym可能會返回NULL,或者符號確實爲NULL。在我的情況下,我收到一個錯誤。我會告訴你我今晚做的MCVE。 這裏是instr.c的內容: #include <stdio.h> void * testing(int i) { printf("You called testin

    1熱度

    1回答

    我想動態鏈接一個Rust .so庫與Linux中的C程序與gcc。在沒有錯誤只使用dlopen和dlclose結果,但我得到了下面的代碼段故障: char * (*my_function)(char *); char *my_input_string = "foo"; //...abbreviated code... my_function = dlsym(handle, "my_fun

    4熱度

    1回答

    很容易找到使用 dlsym()和這個系列的其他功能,但如何在內部工作?是否有可能編寫自己的,簡單的dlsym()實現? 我想知道是否可以實現類似的行爲,但不與連接-ldl(可以說,我不能這樣做)。