dlopen

    -1熱度

    1回答

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

    2熱度

    1回答

    是否存在將在指定庫上覆制RTLD_DEEPBIND行爲的鏈接器標誌? 我試圖避免必須dlopen我的圖書館,並呼籲dlsym爲每個功能只是爲了獲得RTLD_DEEPBIND的行爲。即使有辦法dlopen,然後自動解析符號,而不是dlsym這將是一個可接受的解決方案。 dlopen的裁判:http://linux.die.net/man/3/dlopen

    0熱度

    1回答

    我正在使用autotools來配置和構建使用dlopen及其朋友的項目。 我有下面的代碼片段在我的根configure.ac: AC_SEARCH_LIBS([dlopen], [dl dld], [], [ AC_MSG_ERROR([unable to find the dlopen() function]) ]) 這是我從https://autotools.io/autoconf/findi

    0熱度

    1回答

    情況:我使用python ctypes模塊來加載一個c共享庫,其實ctypes模塊使用dlopen與RTLD_NOW來加載共享庫。當我使用共享庫時,它在調用非常奇怪的函數地址時崩潰。像 核心堆棧如下: (gdb) bt #0 **0x00000000001723f6** in ??() #1 0x00007f39a9d1b506 in do_io() from /home/z/lib

    0熱度

    1回答

    我正在使用dlopen()和dlclose()來加載和卸載模塊。該模塊包含一些需要在調用dlclose()時被破壞的靜態數據。然而,我發現在某些情況下,dlclose()不會調用析構函數 - 而只是在main()退出時調用它們。 我把我的代碼煮到這個。我有一個類,其中包含一個虛擬函數getType()定義在類內,引用靜態數據。我還有一個StaticDestructionChecker對象,它在靜態

    0熱度

    1回答

    我想與Linux上的Anjuta一起工作。 我創建了一個包含一些.a和.so庫的項目,然後編譯它。編譯成功。 由於dlopen()只能在安裝時才加載.so庫,所以我運行了「make install」。安裝成功了。 然後我嘗試在Anjuta內部運行程序。但是,我收到一個錯誤,其中一個庫無法找到。該消息來自dlerror()調用。 只是爲了確保我在「/ usr/local/lib」上做了「ls -la

    0熱度

    1回答

    我正在學習如何使用函數dlopen,dlsym等來獲取給定庫中給定函數的地址,但是如何執行對面?例如,如果我知道我的進程當前位於libgtk-x11-2.0.so.0中的gtk_main + 0xa7,那我該如何確定它是什麼功能? 感謝您的幫助提前!

    1熱度

    2回答

    我正在使用一個共享庫,其中有幾個全局變量, 幾乎用於所有導出的函數 ,因此庫函數不是線程安全的。 我的應用程序創建多個線程,每個線程動態地打開這個 庫,並避免使用並行調用 到導出 功能之間的同步,我的圖書館多次以不同的名稱複製磁盤與 每個線程打開自己的副本。爲了避免這種情況,現在我正在使用dlmopen來代替,但是我正面臨一個問題。 當我使用的dlopen在我的應用程序中打開庫,應用程序工作正常

    -2熱度

    1回答

    我想加載和操縱SKUIImageColorAnalyzer和 SKUIAnalyzedImageColors對象來自私人StoreKitUI.framework。 首先,我試圖在運行時加載框架: guard case let libHandle = dlopen("/System/Library/PrivateFrameworks/StoreKitUI.framework/StoreKitUI",

    0熱度

    1回答

    我目前正在爲我的設備構建android M的camerahal庫,我不知道「dlopen在android中的功能」的問題是什麼情況,我包括dlfcn.h(需要用於dlopen函數)到camerahal.cpp中,我使用了dlopen功能,但我沒有鏈接對libdl不知何故,我沒有遇到任何編譯錯誤,但可能是我,因爲文檔是在說我必須對鏈接libdl具有以下定義LOCAL_LDLIBS := -ldlso