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