dlopen

    4熱度

    2回答

    有沒有辦法找出進程中動態庫的引用數量?即在一個應用程序中,許多模塊可能使用dlopen加載了相同的庫,而當模塊執行dlclose時,我們可以知道該庫是否真的被卸載,或者它的引用正在減少?

    2熱度

    2回答

    我動態加載一些Linux圖書館C. 我可以使用 dlinfo (見1)獲取庫的起始地址。 但是,我找不到任何信息來獲取庫的大小。 是我發現的唯一的事情就是一個必須閱讀 的/ proc/[PID] /映射 文件,並解析它的相關信息(見2) 。 有沒有更優雅的方法?

    5熱度

    2回答

    是否有一種方法可以通過dlopen()爲共享對象以編程方式查找哪些路徑被搜索?我一直以爲dlopen()只會在/ lib和/ usr/lib中看到,但現在我已經看到在Linux Mint上,像libglib-2.0.so這樣的幾個核心組件位於完全不同的文件夾中,即在/ rofs/lib/i386-gnu-linux等等。有沒有辦法瞭解dlopen()將搜索共享對象的所有這些路徑?我已經檢查了環境變

    3熱度

    3回答

    我作爲SO本身。其驚人的工具,但今天,我有一個問題與it.It提供了以下錯誤建議的人已經使用valgrind僅僅一天前開始:definitely lost bytes卻無力告訴錯誤的位置。 這裏是valgrind輸出: [email protected] ~ $ valgrind --leak-check=full sendip -v -p ipv6 -f file.txt -6s ::1 -p

    4熱度

    1回答

    我想攔截在dlopen()中發生的所有文件系統訪問。起初,這看起來就LD_PRELOAD或-Wl,-wrap,將是可行的解決方案,但我有麻煩做他們的工作,由於一些技術原因: ld.so已經由時間LD_PRELOAD映射自己的符號是處理。攔截初始加載對我來說並不重要,但此時解決了工作人員功能,以便將來的呼叫通過它們。我認爲LD_PRELOAD爲時已晚。 不知何故malloc避開了這個問題,因爲上面的

    0熱度

    1回答

    在控制檯上,我得到這些錯誤: 27.08.11 20:56:06,371 sandboxd: ([83008]) TextEdit(83008) deny file-read-data /Users/az/Library/Frameworks/FScript.framework/Versions/A/FScript 27.08.11 20:56:06,372 TextEdit: Error lo

    0熱度

    1回答

    我有我想寫的代碼,我有一個void函數,信息。 void info(char *,char *); 這,我想從我的主要功能在一個單獨的文件中調用。我想用dlopen打開這樣的文件。我將如何調用函數:info。從我的其他文件? 我試圖使用 info("testing: ","Success"); 我對我的信息功能得到一個未定義的引用錯誤。

    0熱度

    1回答

    #0 0x7fff8102a70e in flush_cache #1 0x7fff81030605 in flushCaches #2 0x7fff8103293c in remethodizeClass #3 0x7fff8102372c in _read_images #4 0x7fff81039835 in map_images_nolock

    1熱度

    1回答

    我想動態地將一個庫加載到獨立的作用域中,以便每個實例都有自己的內存。那可能嗎? 我想不是以便攜的方式。 dlopen和POSIX/Unix/Linux上的朋友有可能嗎?或者至少我現在關心的是MacOSX,因爲我現在可能會在其他系統上需要它。 背景:我想要使用的庫並非設計爲多線程安全。但是,如果每個線程只使用一個獨立的lib實例,它應該可以正常工作。 更多背景:這是readline lib。基本上增

    0熱度

    1回答

    我正在竊聽一下。 我有一些ObjC代碼,它定義了一個函數__attribute__((constructor)) void init。我將這個靜態鏈接到一些MacOSX應用程序。它也靜態鏈接到其他MacOSX軟件包。 在某些地方,我直接通過dlopen加載MacOSX軟件包二進制文件。第一個問題:這是不是加載它像[[NSBundle bundleWithPath:[NSString stringW