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

商务网站建设的主流程施工建设集团网站

商务网站建设的主流程,施工建设集团网站,微信公众号怎么创建新的话题,wordpress导航菜单均报404文章目录 1. 打包成静态库2. 打包成动态库#xff08;共享库#xff09;3. 使用第三方静态库4. 使用第三方动态库 5. 动态库的加载6. 注意事项 库的名称#xff1a;去掉前面的 lib 去掉后面的 .a(版本号) .so(版本号) 剩下的#xff0c;才是库正真的名称。 查看文件依赖库… 文章目录 1. 打包成静态库2. 打包成动态库共享库3. 使用第三方静态库4. 使用第三方动态库 5. 动态库的加载6. 注意事项 库的名称去掉前面的 lib 去掉后面的 .a(版本号) .so(版本号) 剩下的才是库正真的名称。 查看文件依赖库ldd 1. 打包成静态库 ar -rc [lib库的名称.a] [需要打包的.o文件]r : replace 更新替换 ccreate 建立 2. 打包成动态库共享库 使用 gcc -fPIC 创建 .o 文件 PICposition ignoring code 与位置无关码 gcc -fPIC -c [.c文件]用 gcc -shared 打包 .o 文件 -shared 共享库 / 动态库 gcc -shared -o [lib动态库名.so] [需要打包的.o文件]3. 使用第三方静态库 当我们有了一个库接下来要将库引入我们的项目必须要让编译器找到 库 和 头文件 需要指定的 头文件 和 库文件如果没有默认安装到系统 gcc、g 默认的搜索路径下用户必须指明对应的选项告知编译器 头文件在哪里 库文件在哪里 库文件具体是谁 如果我们下载下来的库和头文件拷贝到系统默认路径下就叫做在 Linux 下安装库如果我们安装的库是第三方的语言、操作系统系统接口就是第一方和第二方库我们要正要使用即使是全部都安装到了系统中gcc 和 g 都必须使用 -l 来指明具体库的名称 gcc -o mytest main.c -I[头文件的路径] -L[库的路径] -l[去头尾的库名]-L后接 库 的路径可以用 . ..可以带空格也可以不带空格 -I后接 头文件 的路径可以用 . ..可以带空格也可以不带空格 -l后接 链接的 库名去头去尾可以带空格也可以不带空格 注意静态链接形成的可执行程序本身就有静态库中对方法的实现。 也就是说使用静态链接注定 会占用更多的资源。占用哪些资源呢磁盘、可执行程序体积变大加载占用内存、下载周期变长、占用网络资源 4. 使用第三方动态库 使用静态库的方法让我们把路径和名称给了编译器OS 可以通过链接原则即将用户使用的二进制代码直接拷贝到目标可执行程序中。 但动态库不是这样的。还需要将 .so 文件放到系统的默认路径下才能被 OS 找到。 运行时OS 查到动态库的方法 环境变量向 LD_LIBRARY_PATH 中添加库所在的路径 这是一个临时方案此方法重启机器就无效了 在 /lib64/ 或 /user/lib64 下创建第三方库的 软链接 sudo ln -s [被链接路径] /lib64/[库名]在系统路径 /etc/ld.so.conf.d/ 中 添加配置文件写入 第三方库的路径 # 1. 在对应系统路径下添加一个配置文件 sudo touch /etc/ld.so.conf.d/[myconf.conf]# 2. 将第三方库的所在位置添加到文件中 sudo vim /etc/ld.so.conf.d/[myconf.conf]# 3. 让 ld 路径下的系统配置文件生效 sudo ldconfig5. 动态库的加载 只要我们把库加载到了内存映射到进程的地址空间共享区中之后我们的代码执行库中的方法时就依旧还是在自己的地址空间内进行函数跳转即可。 不管有多少进程动态库只会加载一份是很节省资源的。 库中的地址怎么理解 动态库必定面临一个问题 不同的进程运行程度不同需要使用的第三库是不同的注定了每一个进程的共享区中空闲的位置是不确定的。动态库中的地址是不能确定的所以使用库时绝对不能使用绝对地址。 动态库中的所有地址都是偏移量默认从 0 开始。 当一个库真正的被映射进地址空间的时候它的起始地址才能真正确定。所以我们调用动态库的时候选取地址的方法是该进制中这个库真正的起始地址 调用方法的偏移量。如此一来库就可以在进程的地址空间中随便加载与我们具体加载到地址空间的什么位置就毫无关系了。 6. 注意事项 动态库和静态库同时存在时系统默认采用动态链接 需要连接静态则需要给出参数 -static gcc -o mytest main.c -I[头文件的路径] -L[库的路径] -l[去头尾的库名] -static编译器在链接的时候如果提供的库既有动态又有静态优先采用动态链接。如果只有静态的话直接静态链接。 静态的库删了不影响可执行程序运行而动态的少了就不能跑了。 云服务器一般只有动态库静态库需要自己安装 c 的静态库 sudo yum install -y glibc-staticc 的静态库 sudo yum install -y libstdc-static
http://www.eeditor.cn/news/118895/

相关文章:

  • 多终端网站湖北网站推广宣传
  • 现在外贸做哪个网站好常州软件开发公司
  • 网站如何发布和推广最新网络游戏
  • 手机网站最小宽度怎么破解wordpress主题
  • wordpress商务版seo品牌优化整站优化
  • 石家庄模板建站wordpress主题ashley
  • 江苏建设管理中心网站突出什么 加强网站建设
  • 动漫制作专业电脑推荐上海百度搜索排名优化
  • 做网站虚拟主机和云服务器建设银行网站服务功能
  • 网站建设企业资质做企业网站收费
  • 国外网站流量查询国外专门做视频翻译网站
  • 一站式织梦网站模板创业网站建设方案项目书
  • 湖北省网站建设山东省网站备案
  • 1企业网站案例美食网站建设毕业设计
  • 建设外贸型网站免费制作永久企业网站
  • 友情手机站做化妆刷的外贸网站
  • 做外贸选取哪个网站企业网站seo哪里好
  • 购买qq空间访客的网站网络营销网
  • 站长工具域名解析中交路桥建设有限公司是国企吗
  • 电子商务作业做网站网页微信手机登录
  • 昆山网站建设价格建网站要先建什么
  • 经典案例网站网站网络推广方式方法
  • 重庆网站建设公司模板龙岩网络图书馆注册
  • flex网站模板wordpress自定义背景颜色
  • 社交网站 备案网络科技公司属于什么行业
  • 东莞做网站最好的是哪家北京城建一建设发展有限公司网站
  • 做阿里网站需要的faq深圳公司注册地址可以是住宅吗
  • 租号网站建设富阳网站建设找哪家
  • 小馋网站建设书网页制作相关网站
  • 用织梦做的网站怎么上传虚拟怎么把产品卖到国外去