dlopen

    0热度

    1回答

    我加载动态LIB(在通过ctypes的蟒蛇),并得到这样的错误: OSError: dlopen(mlib.dylib, 6): Symbol not found: _NSLocalizedDescriptionKey Referenced from: /Users/abc/work/as/mlib.dylib Expected in: flat namespace in /Users/abc/w

    0热度

    1回答

    当我试图编译sqlite3 uding djgpp时,它给出错误未定义的引用dlopen,未定义的引用dlclose,未定义的引用dlsym等。 在Linux上,如果我们使用-ldl,则问题已消失。但是在djgpp中没有dl.a可用。 那么如何解决这个问题呢?

    0热度

    1回答

    根据docs/PREBUILTS.html,允许在NDK应用程序中使用预先构建的共享对象。所以我试图让我的NDK应用程序从第二个共享对象导入一个函数,但只要在我的APK中使用第二个共享对象,即使在输入android_main()之前,整个shebang也会崩溃。 logcat的说: E/AndroidRuntime(1931): java.lang.RuntimeException: Unabl

    5热度

    1回答

    是否有任何希望运行dlopen(NULL, ...)并获取静态编译二进制文件的符号? 例如,如果程序是动态编译的,并且使用-rdynamic,则使用以下代码可以获得符号。 $ gcc -o foo foo.c -ldl -rdynamic $ ./foo bar In bar! 但随着-static我得到一个神秘的错误消息: $ gcc -static -o foo foo.c -ldl

    1热度

    1回答

    如果我使用dlopen打开一个动态库并且我的程序终止而没有相应的dlclose,引用计数是否会减少?如果不是,会发生什么?库会保持加载状态直到下一次重新启动?

    3热度

    1回答

    如果我使用C++中的动态加载打开库,以后可以重新加载该库的更新版本吗?我会自己测试一下,但我很好奇它的可行性,然后才开始将这看作是我正在开发的某个潜在解决方案。 如果它有所作为,我在Linux上运行。能够使其在其他操作系统上工作会很好,但不是必需的。

    1热度

    3回答

    我正在开发一个C++应用程序,它需要在运行时使用dlopen加载动态库。这个库通常不会被我写。 人们推荐什么方法来确保这个库和我的应用程序之间的二进制兼容性? ,因为我看到他们的选项有: 放入库中的文件名的版本号,并尝试加载它(通过一个符号链接),不管是什么。如果dlopen失败,请报告错误。 保持第二个接口返回版本号。但是,如果由于某种原因该界面发生变化,我们会遇到和以前一样的问题。 还有其他的

    0热度

    2回答

    我有后续问题。 我有位于parser.o库中的文本分析器。我想解析一些文本(查找函数)并调用它们。函数在functions.o文件中实现。我能够解析文本,但我不知道如何从库函数调用函数。我使用dlopen(NULL, RTLD_NOW);来获取主程序的引用,但是当我运行实际的程序时,它无法找到给定的功能,出现错误"./program: undefined symbol: function_name

    0热度

    1回答

    我使用名为GLC的C库以编程方式记录我的OpenGL缓冲区。 GLC监听按键,这不是一个真正的以编程方式触发的很好的解决方案。 因此,我想通过我的软件中的函数调用从GLC执行记录。 我的C++软件正在链接到包含所需函数start_capture()的库。通过nm我可以看到这个功能是本地的,标记为小写字母t。 既然它必须是全局的,才能在我的软件中访问它,所以我想重新编译库(我已经完成了)。但是我不知

    1热度

    2回答

    我试图通过其地址在内存中获取符号名称由它的地址符号的更多信息。我使用dlfcn.hint dladdr(void *addr, Dl_info *info)函数来获取信息: typedef struct { const char *dli_fname; /* Pathname of shared object that contains address */