首页
社区
课程
招聘
关于dlopen函数
发表于: 2017-11-14 15:21 3892

关于dlopen函数

2017-11-14 15:21
3892
#include<stdio.h>
#include<stdlib.h>
#include<dlfcn.h>
int main()
{
    int a,b;
    void *p;
    int (*func)(int,int);
    scanf("%d%d",&a,&b);
    p=dlopen("libdldl.so",RTLD_NOW);
    if(p==NULL)
    {
        printf("dlopen error!\n");
        exit(0);
    }
    else
        printf("dlopen ok!\n");
    func=dlsym(p,"max");
    printf("%d and %d compare result is that %d is max\n",a,b,(*func)(a,b));
    dlclose(p);
return 0;
}
程序可以正常执行,可以输出dlopen ok。
用dlopen加载so文件,这时候是不是会跳转到linker去解析这个so?我在linker里怎么抓不到log?下面是linker中dlfcn.cpp中我抓log的方法
void* dlopen(const char* filename, int flags) {
 if(strcmp(filename,"libdldl.so")==0)
  INFO("libdldl.so is find ");
......}
然后用adb logcat -d>log.txt 抓log 发现找不到libdldl.so。
哪位大神帮忙看下,谢谢。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 103
活跃值: (113)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
又是哪位冕旒界的小作者在要elf加密啊
2017-11-14 15:47
0
游客
登录 | 注册 方可回帖
返回
//