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

建设网站需要哪些内容安徽平台网站建设制作

建设网站需要哪些内容,安徽平台网站建设制作,上海网站开发制,汕头市交通建设网站文章目录 1.动态链接库简介2.动态库搜索路径3.运行时链接及搜索顺序4.查看可运行模块的链接库5.总结 1.动态链接库简介 动态库又叫动态链接库#xff0c;是程序运行的时候加载的库#xff0c;当动态链接库正确安装后#xff0c;所有的程序都可以使用动态库来运行程序。动态… 文章目录 1.动态链接库简介2.动态库搜索路径3.运行时链接及搜索顺序4.查看可运行模块的链接库5.总结 1.动态链接库简介 动态库又叫动态链接库是程序运行的时候加载的库当动态链接库正确安装后所有的程序都可以使用动态库来运行程序。动态库是目标文件的集合目标文件在动态库中的组织方式是按特殊的方式组织形成的。在动态库中函数和变量的地址是相对地址而不是绝对地址其真实地址在调用动态库的程序加载时形成的。 动态库的名字有别名(soname), 真名realname和链接名linkername。别名是由一个lib前缀然后是库的名字最后以“.so”结尾来构成。真名是动态链接库的真实名字一般总是在别名的基础上添加一个版本号信息。除此之外还有一个链接名他是在程序链接的时候使用的名字。 动态库安装的时候总是复制库文件到某一个目录然后使用一个软链接生成一个别名在库文件更新的时候仅仅更新软链接即可。 2.动态库搜索路径 仅对ELF格式如果可执行文件包含DT_RPATH标签并且不包含DT_RUNPATH标签将从DT_RPATH列出的路径搜索。DT_RPATH已经被废弃请用DT_RUNPATH 如果LD_LIBRARY_PATH在程序运行时被定义那么将从它包含的路径开始。安全起见对于set-user-ID或者set-group-ID的程序这个变量将被忽略。 仅对ELF格式如果可执行文件包含DT_RUNPATH标签将从这个标签列出的路径开始搜索。 从 /etc/ld.so.cache运行ldconfig产生中查找文件 从/lib以及/urs/lib按顺序搜索。如果链接时指定-z nodefaultlib,这个步骤将被忽略。 3.运行时链接及搜索顺序 这个过程是由ld-linux.so程序来执行这个才是真正的链接。它所做的工作就是将动态库的代码映射到进程的虚拟地址空间中供进程来调用。程序在连接时使用了共享库就必须在运行的时候能够找到共享库的位置。linux的可执行程序在执行的时候默认是先搜索/lib和/usr/lib这两个目录然后按照/etc/ld.so.conf里面的配置搜索绝对路径。同时Linux也提供了环境变量LD_LIBRARY_PATH供用户选择使用用户可以通过设定它来查找除默认路径之外的其他路径LD_LIBRARY_PATH路径优先于系统默认路径之前查找。 LD_LIBRARY_PATH的设定作用是全局的过多的使用可能会影响到其他应用程序的运行所以多用在调试。通常情况下推荐还是使用gcc的-R或-rpath选项来在编译时就指定库的查找路径并且该库的路径信息保存在可执行文件中运行时它会直接到该路径查找库避免了使用LD_LIBRARY_PATH环境变量查找看到Qt的使用qmake生成的makefile中有gcc -rpath xxx指出程序运行时的一个搜索路径, 或许与qt的QMAKE_RPATHDIR有关 ld-linux.so.x在可执行的目标文件中被指定可用readelf -l命令查看 。 (很多现代应用都是通过动态编译链接的当一个 需要动态链接 的应用被操作系统加载时系统必须要 定位 然后 加载它所 需要的所有动态库文件。 在Linux环境下这项工作是由ld-linux.so.x来负责完成的) 和Windows下的PE文件类似ELF文件是linux系统下可执行文件、动态库文件、静态库文件的标准格式。 例如运行readelf -l 文件名在输出的Headers部分的INTERP部分会指出该可执行文件需要的ld-linux.so。 运行时ld-linux.so 查找共享库的路径: 1编译时使用gcc的-R或-rpath选项指定路径。 2LD_LIBRARY_PATH环境变量中所设定的路径。 3ld-linux.so 缺省在/usr/lib和/lib中搜索当glibc安装到/usr/local下时它查找/usr/local/lib 4/etc/ld.so.conf或/usr/local/etc/ld.so.conf中所指定的路径。 查看/etc/ld.so.conf文件或许只有一行“include /etc/ld.so.conf.d/*.conf ”意味着包括了/etc/ld.so.conf.d/目录下的所有.conf文件每个文件中都写着具体的路径。如果你想加一个运行时的搜索路径可在/etc/ld.so.conf.d目录下新建一个.conf文件里面写上路径注意添加完了之后要在root权限下运行ldconfig指令使其生效该指令更新记录了系统中有哪些so文件的缓存文件/etc /ld.so.cache。 4.查看可运行模块的链接库 可使用ldd指令查看一个可执行文件依赖于哪些库ldd xxx ldd bashlinux-vdso.so.1是Linux为了解决和glibc兼容而想出的绝招。 原来这个 linux-vdso.so.1 文件并不是一个真实存在的文件而是 Linux 中的一个虚拟文件专门用于将内核中一些常用的函数从内核空间映射到用户空间。也就是说这个文件不用复制。 VDSO就是Virtual Dynamic Shared Object就是内核提供的虚拟的.so这个.so文件不在磁盘上而是在内核里。内核把包含某.so的内存页在程序启动的时候映射入其内存空间对应的程序就可以当普通的.so来使用其提供的函数接口。 5.总结 在linux下的动态链接库并不从程序所在当前目录查找连接库而是从编译时指定目录查找或者默认目录查找。
http://www.w-s-a.com/news/902306/

相关文章:

  • 深圳电商网站开发公司page list wordpress
  • 长安外贸网站建设顺德区网站设计建设企业
  • 临沂市建设局网站简介专业建设网站开发
  • 肇庆网站制作设计中国企业500强招聘
  • 苏州厂房装修宁波seo网络推广外包报价
  • 文山知名网站建设惠州哪家做网站好
  • 物流网站风格网站登录密码保存在哪里设置
  • 免费网站怎么建立icodepython基础教程
  • 无障碍网站建设方案wordpress 任务管理系统
  • iis5.1发布网站中小企业网络营销存在的问题研究论文
  • 阳泉软件定制网站建设网站可以做多语言的吗
  • 建设网站的目的及功能定位主要包括哪些内容百度关键词优化
  • 开一个小程序要多少钱宁波seo网络推广外包报价
  • 网站备案最新备案号电子商务网站建设的规章制度
  • wordpress制作单页网站导航页面鞍山信息港招聘信息
  • 屏蔽ip地址访问网站自己做衣服的网站
  • 网站建设 域名业务 邮箱哪里有网站建设中心
  • 免费网站赚钱重庆建设摩托车股份有限公司
  • 合肥水运建设工程监理网站自己买服务器能在wordpress建网站
  • wordpress积分商城主题整站seo排名要多少钱
  • 鲜花网站建设的利息分析网站设计与制作专业
  • 深圳网站建设排名做网站的公司高创
  • 杭州哪家做外贸网站全国物流网站有哪些平台
  • 企业网站建设个人博客鞍山晟宇网站建设
  • 广东省自然资源厅网站h5移动端网站模板下载
  • 网站建设和安全管理制度云南九泰建设工程有限公司官方网站
  • 网站的关键词和描述做外贸家纺资料网站
  • 绥化市建设工程网站招投标地址链接怎么生成
  • 网站制作设计发展前景网页链接制作生成二维码
  • 廊坊哪里有制作手机网站的企业网站建设费用财务处理