当前位置: 首页 > wzjs >正文

官方网站建设的意义杭州百度整站优化服务

官方网站建设的意义,杭州百度整站优化服务,这么自己建设网站,wordpress设置404dlsym 函数是 Linux 下动态链接库(shared library)编程中的一个重要函数。它用于在运行时获取动态链接库中符号的地址,通常用于获取函数指针或变量的地址。 以下是 dlsym 函数的基本用法和示例。 1. 函数原型 void *dlsym(void *handle, c…

dlsym 函数是 Linux 下动态链接库(shared library)编程中的一个重要函数。它用于在运行时获取动态链接库中符号的地址,通常用于获取函数指针或变量的地址。

以下是 dlsym 函数的基本用法和示例。

1. 函数原型

void *dlsym(void *handle, const char *symbol);
  • handle:通过 dlopen 函数获取的库句柄。
  • symbol:要查找的符号的名称(通常是函数名或变量名)。
  • 返回:返回符号的地址,失败时返回 NULL

2.疑惑

创建一个可执行程序和一个so文件

1.c

#include <stdio.h>
#include <dlfcn.h>
extern void a();
int main()
{void *p = dlsym(NULL, "a");void *q = printf;void *r = dlsym(NULL, "printf");void *s = a;a();
}

2.c

#include <stdio.h>void a()
{void *b = printf;printf("hahahaha\n");
}

编译为共享库:

gcc -g -fPIC -shared 2.c -o liba.so

编译可执行程序:

gcc -g  1.c -I. -L. -la -ldl

不注释掉1.c中void *s = a;
使用gdb查看
在这里插入图片描述
可以看出使用dlsym查找的是a在内存中的绝对地址
在这里插入图片描述注释掉1.c中void *s = a;
使用gdb查看
在这里插入图片描述
发现dlsym查找的符号是plt表中a的地址,反汇编p
在这里插入图片描述

3.原因猜测

注释掉1.c中void *s = a;这句代码,1.c中没有对a的引用,意味着got plt标准不在在关于a的表项,不注释时,存在关于a的plt和got表项,dlsym从模块对应的表项开始搜索,所有不注释时查到到的地址时plt地址,注释后查找的是真实地址。

http://www.dtcms.com/wzjs/492936.html

相关文章:

  • 惠州网站开发公司无锡谷歌优化
  • 用vue做网站市场营销策划包括哪些内容
  • 宠物网站怎么做营销网站的建造步骤
  • 山东平度疫情成都网站优化及推广
  • 世界互联网公司排名大冶seo网站优化排名推荐
  • 合肥高新城建设计院网站推荐6个免费国外自媒体平台
  • 集团定制网站建设公司快速优化seo
  • 网站上传根目录自媒体平台注册下载
  • 重庆好的网站建设域名申请的流程
  • 定制制作网站价格表百度竞价排名事件分析
  • 网站建设启动资金预算百度销售系统
  • 为什么网站开发成本高信息发布平台推广
  • 绵阳网站建设制作百度搜索网址
  • 网站怎么做视频的软件网店运营公司
  • 做公司网站要注意哪些问题新产品的推广销售方法
  • 淘宝哪家做网站靠谱seo公司重庆
  • 绛帐做网站ciliba最佳磁力搜索引擎
  • 网站开发做前端还是后端营销策划的六个步骤
  • 流程图在线制作网站网络广告投放公司
  • 网站上的qq如何做悬浮排名优化百度
  • 达州做网站做销售找客户渠道
  • 简述建设政府门户网站的原因公司网站设计制作
  • 网站怎么公安部备案百度热度指数排行
  • 购物网站页面上海网络推广
  • 嘉盛集团官方网站商旅平台app下载
  • wordpress 图标插件seo排名关键词
  • 钓鱼网站是什么技术的人做的出来百度站长平台注册
  • 出格做网站站长工具怎么关掉
  • 福田建设网站网站关键词优化建议
  • 日本做a的短视频网站重庆seo网络推广