问题标签 [dlsym]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 未定义对“dlsym”的引用
当我尝试编译我的单元测试文件时,我得到“未定义的对‘dlsym’的引用”错误。我在 Unix 系统(我在 Ubuntu 12.04 上)上读到了,将 -ldl 添加到编译器工作中,但我尝试使用 Zed 的 Shaw Makefile,但仍然没有任何反应。这是代码:
记录错误:
正如我所说,我尝试将 '-ldl- 添加到 CFLAGS、SO_TARGET 变量,几乎所有内容,根据我的分析,这可能会有所帮助,但这并没有改变任何东西。
c++ - 如果我不知道返回类型和参数,如何使用 dlsym() 调用函数?
我必须调用外部库中的函数,其类型和参数数量以及返回类型未知。如何使用 dlsym 在 C++ 中调用该函数?
编辑:如果我将参数的返回类型和数据类型作为字符串获取,我如何使用 dlsym() 调用函数。
eg:客户端将函数名称、返回类型和参数数据类型发送给服务器。服务器使用 dlopen() 动态加载相应的 so。现在我如何使用 dlsym 调用 func?
提前致谢
c++ - dlsym() 返回“未找到符号”
我使用 OS X 10.7 (Lion)、XCode 4.6.3 和 libstdc++ 作为 C++ 标准库。
我的主项目中有这段代码:
共享.cpp:
这在我的副项目中,需要动态加载主要项目:
加载器.cpp:
纳米输出:
dlopen 加载库就好了,但 dlsym 返回“未找到符号”。有任何想法吗?
谢谢。
android - 找不到库无法使用 CodeSourcery 工具链链接可执行的 Android
我正在尝试为我的 android 设备创建 ac 程序。它使用 dlopen 和 dlsym 在共享库中打开一个函数。我用 arm-none-linux-gnueabi 编译。我的 helo.c 程序如下所示:
helo.c
我正在以这种方式编译:
但是当我尝试在我的设备上运行时,我收到了这个错误
任何想法
c - dlsym() 处的错误:./dynlibrary:未定义符号:方法
我有一个我无法解决的问题。查找到目前为止我发现的所有内容。我的问题是,我在我的程序中创建了一个 dyn 库,想要 dlopen 并从该库中 dlsym 一个方法。
似乎 dlopen 有效,但 dlsym 向我返回错误“未定义符号:方法”
其中“ method ”是我传递给 dlsym 的方法的名称。
这是我创建库的方式:
和:
这应该可以工作,因为运行我的代码后有一个库。
我这样打开图书馆:
并像这样调用这些函数:
编辑:这是来自 userinput.c 的代码:
它是在我的程序中生成的,也在运行的程序中编译和链接
dynamic-loading - 使用 dlsym 返回的类类型访问静态方法和字段
我们可以使用 dlsym 返回的类类型访问静态方法和字段吗?
前任:
;
c++ - C - 共享库 - dlopen, dlsym
对于一个研究主题,我正在使用 C++ 程序将 SQL 查询转换为 C++ 程序。翻译后,c++查询源代码编译成共享库:
一切正常,库已正确编译。在第二个程序中,我尝试实现一个 read-eval-print-loop,它从用户那里获取一个查询,翻译和编译它,用 dlopen 和 dlsym 加载共享库,最后执行它。在我在查询代码中使用 Intel TBB 之前一切正常,但现在我输入的第二个查询出现分段错误(第一个查询工作正常,但循环中加载的第二个查询失败)。
来源(读取评估打印循环): http: //pastebin.com/pWkRN7Dx
示例查询代码: http: //pastebin.com/A1pBZC3d
如果我的查询中没有连接,因此查询源代码中出现了一个 parallel_for,则没有问题。但是如果有多个 parallel_fors,我输入的第二个查询会出现分段错误(编译成功并且 dlopen 有效,但 dlsym 失败)。
这是gdb输出
我真的不明白第二个查询失败的原因。我为 dlopen 尝试了不同的标志,但它不适用于任何组合。
希望有人可以帮助我,因为我在共享库方面非常缺乏经验。
问候
c - 如何使用 dlsym() 调用函数,其中我知道参数的数量但不知道类型,也不知道函数的返回类型?
我正在尝试使用 dlsym 和 dlopen 创建一个通用工具,目的是加载外部库并从中调用特定函数。我当前的工具代码是:
现在 argc 和 argv 将分别包含函数 functionname 的参数的数量和实例。
如何通过传递正确的参数并返回正确的类型来正确调用函数名?
一些帮助将不胜感激。
ios - 如何使用 dlsym 检查枚举值是否存在?
dlsym
为枚举值返回 null
输出
macos - 如何获取 `__NSAutoreleaseNoPool` 地址?
我试过了
但这会导致链接时出现未解析的符号(但不确定它需要什么框架)。
我也试过
但这只是给了 be NULL
。
我试过了_dyld_lookup_and_bind
,NSLookupSymbolInImage
但它们也不起作用。
dsymutil
并且nm
两者都找到了符号:
(那是在 MacOSX 10.6 上。在更高版本的 MacOSX 上,该符号似乎确实不存在,至少我无法通过grep
in找到任何 ref/usr/lib
并且/System/Library/Frameworks
LLDB 也找不到它。可能它被 ARC 以某种方式删除了。)
那么,如何在我的代码中获取该地址?
(我这样做的动机就在这里。)