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

黄岛开发区做网站网络公司无锡建设局网站

黄岛开发区做网站网络公司,无锡建设局网站,兰州市建设厅官方网站,找人做网站内容自己编辑吗动态库和静态库 软链接硬链接硬链接要注意 自定义实现一个静态库(.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/14495731/

相关文章:

  • pc端网站布局it运维需要具备哪些能力
  • 三水区建设局网站wordpress opendir
  • 阿里营销网站建设wordpress 新浪微博登入
  • 如何做网站文件辽宁省建设工程信息网站
  • 西安凤城二路网站建设九星市场做网站
  • 建设工程质量检测机构主管网站网站群管理
  • 有个人代做网站的吗个人网页设计实验报告
  • 那些网站可以做信息推广服务器在哪里
  • 外贸公司的网站建设模板网络推广公司司
  • 重庆神态网站建设推荐好用的分销平台
  • 如何通过国外社交网站做外销流媒体网站开发教程
  • 个人主页网站设计代码如何做平台软件
  • 广州 网站备案深圳官网建站服务商
  • 珠海市建设工程质量监督检测站网站小红书推广营销
  • 郑州网站制作选择乐云seo天津滨海新区小程序网站建设
  • 浙江网站建设费用开源免费cms
  • 制作收款网站个人单页网站建设
  • 最新网站源码做网站包域名包服务器多少钱
  • 师德师风建设好的小学网站wordpress不同page
  • 哪些网站是单页应用怎么免费创建一个网站
  • 网站备案域名更改一般使用的分辨率是多少dpi?
  • 电子商务电商网站饿建设html 新手入门
  • 企业网站展示网站链接查询
  • 做任务能赚钱的网站有哪些网站建设销售好
  • 中企动力做网站费用做电影网站怎样赚钱吗
  • 深圳建站公司设计深业集团建立企业门户网站
  • 怎么样做网站爬虫网站建设的岗位职责
  • 潞城网站建设公司学校做网站一般多少钱
  • 网站cms管理后台电话号码jsp网站开发实例
  • 罗湖做网站公司.top和网站