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

沈阳网站建设公司千锋教育培训机构怎么样

沈阳网站建设公司,千锋教育培训机构怎么样,英国做网站的人,重庆建设摩托车价格上一篇(linux下so动态库一些不为人知的秘密(上))介绍了linux下so一些依赖问题,本篇将介绍linux的so路径搜索问题。我们知道linux链接so有两种途径:显示和隐式。所谓显示就是程序主动调用dlopen打开相关so;这里需要补充的是,如果使用显示链接&…

上一篇(linux下so动态库一些不为人知的秘密(上))介绍了linux下so一些依赖问题,本篇将介绍linux的so路径搜索问题。

我们知道linux链接so有两种途径:显示和隐式。所谓显示就是程序主动调用dlopen打开相关so;这里需要补充的是,如果使用显示链接,上篇文章讨论的那些问题都不存在。首先,dlopen的so使用ldd是查看不到的。其次,使用dlopen打开的so并不是在进程启动时候加载映射的,而是当进程运行到调用dlopen代码地方才加载该so,也就是说,如果每个进程显示链接a.so;但是如果发布该程序时候忘记附带发布该a.so,程序仍然能够正常启动,甚至如果运行逻辑没有触发运行到调用dlopen函数代码地方。该程序还能正常运行,即使没有a.so.

既然显示加载这么多优点,那么为什么实际生产中很少码农使用它呢, 主要原因还是起使用不是很方便,需要开发人员多写不少代码。所以不被大多数码农使用,还有一个重要原因应该是能提前发现错误,在部署的时候就能发现缺少哪些so,而不是等到实际上限运行的时候才发现缺东少西。

下面举个工作中最常碰到的问题,来引申出本篇内容吧。

写一个最简单的so, tmp.cpp

1. int test()

2. {

3. return 20;

4. }

编译=>链接=》运行, 下面main.cpp 内容请参见上一篇文章。

[stevenrao]$ g++ -fPIC -c tmp.cpp

[stevenrao]$ g++ -shared -o libtmp.so tmp.o

[stevenrao]$ mv libtmp.so /tmp/

[stevenrao]$ g++ -o demo -L/tmp -ltmp main.cpp

[stevenrao]$ ./demo

./demo: error while loading shared libraries: libtmp.so: cannot open shared object file: No such file or directory

[stevenrao]$ ldd demo

linux-vdso.so.1 => (0x00007fff7fdc1000)

libtmp.so => not found

这个错误是最常见的错误了。运行程序的时候找不到依赖的

http://www.lbrq.cn/news/2530045.html

相关文章:

  • 优酷网站怎么做的怎么让网站被百度收录
  • 做简单的网站首页一个自己的网站
  • 专业做家居的网站有哪些网络营销的六大功能
  • 做网站投诉要钱吗网络营销的成功案例分析
  • ps网站设计怎么做域名注册查询
  • 腾讯云服务器搭建网站产品网络推广的方法有哪些
  • 做网站的人怎么联系怎么注册自己的网址
  • 做装修网站推荐客户靠谱吗如何提升关键词的自然排名
  • 新沂做网站优化seo
  • 官方网站下载微博网络销售靠谱吗
  • 自己怎么在手机上设计装修广州网站seo推广
  • 电商网站制作项目描述百度seo工作室
  • 外包公司做网站seo效果检测步骤
  • 恩施网站设计百度新闻网
  • 广州哪家网站建设好青岛官网seo公司
  • 莱芜新闻网最新消息短视频seo是什么
  • 滨州网站建设公司搜索平台
  • 永定门网站建设中国免费网站服务器主机域名
  • 阿里云做网站多少钱中央人民政府
  • 做网站哪种编程语言好推广网站制作
  • 怎么制作个人门户网站百度推广最近怎么了
  • 做服装最好的网站建设怎么做神马搜索排名seo
  • windows wordpress 轻量级seo推广主要做什么的
  • 移动互联网时代的信息安全与防护超星网课答案优化英文
  • 论文网站建设格式中国培训网是国家公认的吗
  • 西峡网站建设线上宣传方式有哪些
  • wordpress后台用户名怎么做seo关键词优化
  • 做网站的是些什么公司足球积分排行榜最新
  • 做网站用什么框架最方便广州seo托管
  • 东莞网站建设aj博客湖南长沙疫情最新情况
  • 【最近公共祖先】ST表法
  • 基于 Amazon Nova Sonic 和 MCP 构建语音交互 Agent
  • 开发避坑短篇(11):Oracle DATE(7)到MySQL时间类型精度冲突解决方案
  • Docker部署Nacos
  • C++ 中 NULL 与 nullptr 有什么区别?
  • leetcode热题——搜索二维矩阵Ⅱ