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

网站空间怎么备份淘宝网站网页图片怎么做

网站空间怎么备份,淘宝网站网页图片怎么做,网站建设专业性,自己做国外网站一、静态库(格式:libxxx.a) 1. 原理 在运行之前就已经把函数的实现代码拷进 main.c 文件里了,因此静态库的权限是没有可执行权限的,因为根本不会执行到静态库里的内容。静态库的创建原理本质上就是把所有的函数源文件…

一、静态库(格式:libxxx.a)

1. 原理

  • 在运行之前就已经把函数的实现代码拷进 main.c 文件里了,因此静态库的权限是没有可执行权限的,因为根本不会执行到静态库里的内容。
  • 静态库的创建原理本质上就是把所有的函数源文件编译成 *.o 文件后,再把所有的 *.o 文件合成一个库,而这个库就是静态库。

2. 创建

在 makefile 中可这样创建:

lib=libmylib.a$(lib):add.oar -rc $@ $^
add.o:add.cgcc -c $^.PHONY:clean
clean:rm -rf *.o *.a a.out mylib.PHONY:output
output:mkdir -p mylib/includemkdir -p mylib/libsmv *.h mylib/includemv *.a mylib/libs

3. 使用

a. 头文件 & 库的区别

  • 头文件是以 .h 结尾的文件
  • 库是以 .a 结尾的文件

b. 命令(gcc -I -L l...)

// 假如要对 /lib/libmylib.a 进行静态连接
gcc -I <头文件的路径> -L <静态库的路径> -lmylib

补充:因为 libmylib 只有静态库的版本,因此 gcc 编译时只能编成静态库。换句话说,如果同时有 libmylib.a 和 libmylib.so 两个版本的库,gcc 编译时会选择 libmylib.so ,编成动态库。

二、动态库(共享库)(格式:libxxx.so)

1. 原理

在程序运行时会把代码(函数的实现)加载进内存中,然后再调整页表的映射关系,使其虚拟地址在进程地址空间的共享区中。然后调用函数时程序会直接跳转到共享区执行函数。

2. 创建

在 makefile 中可这样创建:

lib=libmylib.so$(lib):add.ogcc -shared -o $@ $^
add.o:add.cgcc -fPIC -c $^.PHONY:clean
clean:rm -rf *.o *.so a.out mylib.PHONY:output
output:mkdir -p mylib/includemkdir -p mylib/libsmv *.h mylib/includemv *.so mylib/libs

3. 使用

// 假如要对 /lib/libmylib.so 进行静态连接
gcc -I <头文件的路径> -L <动态库的路径> -lmylib

4. 优势

因为动态链接的库可以实现多进程共享,因此可以减少内存的使用。

5. 动态库如何从磁盘加载到内存?

(1)动态库如何载入内存?

当程序运行到需要调用动态库的代码时,如果动态库此时并没有载入内存,那么操作系统就会把动态库载入内存;然后修改页表的映射关系;而对于进程地址空间,动态库的代码也会载入进程地址空间的共享区;然后进程就可以访问动态库的代码啦~

如果动态库已经在内存里了,那就直接向当前进程的页表添加映射关系;然后动态库的代码载入该进程的共享区;然后进程就可以访问动态库的代码啦~

(2)进程如何访问动态库的代码?(通过相对地址)

由于共享区可能有多个动态库,因此动态库的起始地址是不确定的,因此如果一个动态库的代码载入共享区,那么这些代码一定不会用绝对地址来编址。取而代之的是,动态库的代码会采用相对地址编址,然后再加上载入共享区后获得的绝对起始地址(设起始地址的值为 start),那么进程可以通过 start + 相对地址 的方式访问该动态库的代码。

6. 解决动态库加载问题

  • 把库放到程序搜索库的默认文件里,如 /lib64
  • 把库与程序搜索库的默认文件建立软连接,如 mylib -> /lib64
  • 把自己的库路径添加到环境变量 LD_LIBRARY_PATH 中
  • 在 /etc/ld.so.conf.d 中建立自己的配置文件,然后重新 ldconfig 即可(永久有效)
http://www.yayakq.cn/news/321173/

相关文章:

  • 专业企业网站建设多少钱公司网站域名查询
  • 校园网站建设建议嘉兴本地推广网站
  • 企业网站建设的三种方式创立制作网站公司
  • 深圳市建设工程交易服务集宁网站建设SEO优化
  • 网站搭建服务免费全自动推广平台
  • 北辰正方建设集团有限公司网站wordpress极速主题
  • 做网站代理能赚钱吗网站网站代理怎么做的
  • 建网站的公司哪里好广州番禺区男科医院
  • 快速搭建网站 数据存储手机网站建设电话
  • 什么是搭建网站wordpress php设置
  • 韩韩良品只做性价比网站下载兰州网站建设q479185700惠
  • 短视频免费素材网站怎么不用wordpress
  • 有哪些网站可以做电子邀请函莱芜吧诚意带大家修车
  • 简单个人网站模板智邦国际erp系统登录
  • wordpress分类目录标题使用自定义河南seo网站多少钱
  • 廊坊网站seo做教程网站如何查用户搜索
  • 做翻译赚钱的网站好苏州网站设计公司
  • 广西北海市住房和建设厅网站长春小学网站建设
  • 接广告的网站怎么做百瑞网站建设
  • 襄阳做网站公司哪家好专业做网站建设的公司
  • 宁波网站建设多少钱一年php网站管理
  • 做网站能赚钱吗做网站15年
  • 建设工程合同包括三种关键词优化排名用什么软件比较好
  • 买东西的网站站长工具亚洲
  • 广西建设四库一平台网站企业网站建设需要做些什么
  • yy刷单做的那些网站app开发价格要多少钱
  • 网站建设好公司好企业品牌营销策略
  • 自己怎么做优惠卷网站厦门市城市建设档案馆网站
  • 平凉网站设计软件学校网站模板下载
  • 上线吧做的网站可以备案wordpress汉化插件下载