dlsym

    3热度

    2回答

    我无法通过iOS中的名称调用函数吗?我有一个C函数getstring。 void* handle = dlopen(NULL, RTLD_NOW); if (handle) { fp func = dlsym(handle, "getstring"); if (!func) responseField.text = [NSString stringWithUTF8String:d

    0热度

    3回答

    我有一个由用C++编写的不同模块组成的应用程序。 其中一个模块用于处理SunGrid Engine上的分布式任务。它使用DRMAA API来提交和监控网格作业。如果客户端不支持网格,应使用本地机器 API libdrmaa.so的共享对象在编译时链接并在运行时加载。 如果使用我的应用程序的客户端具有此“.so”,则一切正常,但如果客户端没有该应用程序, 应用程序将退出未能加载共享库。 为了避免这种

    2热度

    3回答

    我正在编写一个插入库来跟踪libc中的一些库函数的使用,如open(),close(),connect()等。它通常适用于大多数应用程序。但是,当我使用PHP进行尝试时,特别是使用PHP的MySQL模块,没有任何对此模块内libc的函数调用进行跟踪(所以没有connect(),没有socket()等)。 'strace'告诉我系统调用了socket(),connect()等。在模块上运行'file

    3热度

    5回答

    我正在编写一种运行时系统/解释器,我需要做的一件事是调用位于外部的c/C++函数库。 在linux上,我使用了dlfcn.h函数来打开一个库,并调用一个位于其中的函数。问题是,在使用dlsysm()时,返回的函数指针在调用之前需要转换为适当的类型,以便知道函数参数和返回类型,但是如果我在库中调用某个任意函数,显然我会在编译时不知道这个原型。 所以我问的是,有没有办法调用一个动态加载的函数,并传递它

    6热度

    2回答

    我收到以下错误,当我试图运行一个脚本,我只有执行权限:这是后我已经设置LD_PRELOAD环境 uname: symbol lookup error: /home/dumindara/random/sotest/a.out: undefined symbol: dlsym 变量为/home/dumindara/random/sotest/a.out。 a.out已测试malloc函数,并在内部调用