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

免费网站友情链接logo在线查询

免费网站友情链接,logo在线查询,网络营销推广方式有哪些,虚拟主机商动态库和静态库 软链接硬链接硬链接要注意 自定义实现一个静态库(.a)解决、使用方法静态库的内部加载过程 自定义实现一个动态库#xff08;.so#xff09;动态库加载过程 静态库和动态库的特点 软链接 命令:ln -s 源文件名 目标文件名 软链接是独立连接文件的#xff0c;他… 动态库和静态库 软链接硬链接硬链接要注意 自定义实现一个静态库(.a)解决、使用方法静态库的内部加载过程 自定义实现一个动态库.so动态库加载过程 静态库和动态库的特点 软链接 命令:ln -s 源文件名 目标文件名 软链接是独立连接文件的他有自己的inode number有自己的inode属性和内容。 软链接内部存放的是自己所指向文件的路径。 现实中我们软链接的应用有例如电脑桌面的快捷模式等。 inode number 不相同 硬链接 命令:ln 源文件目标文件 硬链接通过inode来重新链接一份文件此文件的inode跟原文件的inode是一样的可以理解为原文件的浅拷贝两个文件内容是共享的不管增加还是删除这是因为他们的inode是相同的 inode相等 硬链接要注意 硬链接是不可以给目录做硬链接的这是因为当用户进行对目录硬链接时容易造成环路问题os无法识别那个是自己定义的硬链接。 了解目录隐藏文件. .. 自定义实现一个静态库(.a) 系统已经预装了c/c的头文件和库文件头文件提供方法说明库提供方法的实现头和库是有对应关系的是要组合在一起使用的。头文件是在预处理阶段就引入的链接本质就是链接库 方法一头文件和.o文件在一块可直接应用 形成静态库文件 命令ar -rc lib库名.a *.o 方法二我们将库和头文件都带入到另一个文件进行重新编译运行 当我们使用时发现不可以正常使用 这是因为我们引入了第三方的库编译器目前不认可这个库需要我们手动 解决、使用方法 第三方库的使用错误解决方法 需要指定所用的头文件和库文件如果没有安装到对应的编译器路径下用户必须指明对应的选项告知编译器头文件在哪里库文件在哪里库文件具体是谁。将三方库拷贝到编译器路径下时我们进行编译时也需要使用-l指定具体使用的库 l只要库名即可(去掉lib以及版本号) L链接库所在的路径 I链接库的头文件所在路劲 方法三头文件放到include目录下库文件放到lib目录下将两个目录打包交给别人 静态库的内部加载过程 静态库不需要加载静态库是将代码直接拷贝到程序中因此内存中的代码和数据可能会存在多分造成空间浪费。把静态库代码拷贝到内存中的代码区。 当我们将静态库加载过一次之后在删除静态库后还是可以正常跑的 自定义实现一个动态库.so 形成动态库文件 shared: 表示生成共享库格式fPIC产生位置无关码 动态库采用的是相对位置编址。只保存相对函数之间的偏量值库起始地址函数之间偏移量 而静态库采用的为绝对地址如果我们库位置有所变动他就需要重新拷贝 与静态库使用发放三方式相同但是需要注意的方面不一样 头文件放到include目录下库文件放到lib目录下将两个目录打包交给别人 为什么静态库就可以找到而动态库就不可以呢 这是因为静态库的链接原则是将用户使用的二进制代码直接拷贝到目标可执行程序中但是动态库不会。 如何解决os找不到动态库问题 配置环境变LD_LIBRARY_PATH临时方案当系统重启后需要重新配置 软连接方案 去掉软连接方法 sudo unlink /lib64/libmy_math.so 配置文件方法 ls /etc/ld.so.conf.d查看本地的路径配置文件 sudo touch /etc/ld.so.conf.d/myPath.conf添加创建本地路径配置文件 系统重新启动也是可以直接使用的因为我们已经把环境配置好了 动态库加载过程 动态库通过fPIC形成位置无关码采用相对编址的方式在程序链接时将对应库中的偏移量添加到程序中库函数在程序运行时加载进来经过页表把库映射到虚拟地址空间后共享区库就具有了起始地址。通过起始地址和偏移地址就可以找到要调用的库函数。 系统层面上会维护动态库的起始地址虽然刚刚加载时不能确定起始地址因为共享区是由OS分配的但是加载完毕就不会改变了直接建立页表与内存的映射就可以直接跳转访问了。所以动态库加载一次就可以被多个进程共同使用。 动态库相对于静态库更节省内存静态库由多个程序使用相同的库函数加载到内存中就会导致内存中有多份重复的库函数代码而动态库则是多个程序共用一份动态库不会导致出现重复的库函数代码就节省了内存空间。 静态库和动态库的特点 静态库的特点 静态库在可执行程序链接时就加入到可执行代码中在物理上成为可执行程序的一部分程序运行时将不在需要该静态库。相对于动态库链接生成的程序静态还相当于编译器将代码补充完整了因此执行程序会大一些但是运行起来相对快一些。静态库是牺牲了空间效率换取了时间效率 动态库特点动态库在程序编译时并不会被链接到目标程序中而是在程序运行时才被载入因此在程序运行时还需要动态库的存在。 动态库只要在程序执行时那些需要的函数代码才被拷贝到内存中。这样就使可执行文件比教小节省磁盘空间。由于运行时要去链接库会花费一定的时间执行速度可能会相对慢一些。 动态库是牺牲了时间效率换取了空间效率。
http://www.hkea.cn/news/14373947/

相关文章:

  • 物流网站 源码怎么做网站网站吗
  • 高端网站设计官网html做企业门户网站
  • 连江建设局网站wordpress 点评插件
  • 厦门官方网站建设科技公司企业网站建设
  • 慈溪住房和城乡建设部网站常州市金坛区网站建设
  • 已备案网站注册网站申请了如何上传到服务器
  • 安庆什么网站好小事做平湖模板网站建设公司
  • 网站左侧树形导航怎么做网站开发的背景与环境
  • 扬州天猫网站建设微信网页版app
  • 中英文对照网站怎么做注册域名怎么建设网站
  • 深圳做网站三网合一做网站建设最好的公司是
  • php做电商网站怎样做seo搜索引擎优化
  • 响应式企业网站好的竞价推广托管
  • 网站的在线支付怎么做那个平台能免费做网站
  • 云主机添加网站xp asp 网站建设
  • 国内网站搭建南宁网站建设接单
  • 潍坊优化网站排名合肥集团网站建设公司
  • 中石化工建设宁波分公司网站字节跳动小程序开发者平台
  • 搭建网站费用邢台集团网站建设价格
  • 做一个大型网站H5平台网站建设
  • 广州服装 网站建设搜索引擎推广培训
  • 用户密码找回网站专业招牌制作公司
  • 网站建设配图网站建设维护合同书
  • 如何修改网站备案商业网站页面
  • 传奇网站怎么做搜索关键词优化服务
  • 网上做网站赚钱上海网页制作费用
  • 柯林wap建站程序个人版网站大气模板
  • 郑州网站建设伟置网络营销是什么内容
  • 英文建站软件网站建设服务条款
  • 高端网站制作上海站霸科技网站环境配