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

金融理财管理网站源码 dedecms最佳的网络营销策划是

金融理财管理网站源码 dedecms,最佳的网络营销策划是,wordpress页面标题标签,西安便宜做网站1.库 通俗来说,库就是现有的,可复用的代码,例如:在C/C语言编译时,就需要依赖相关的C/C标准库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。通常我们可以在windows下看到一些后…

1.库

通俗来说,库就是现有的,可复用的代码,例如:在C/C++语言编译时,就需要依赖相关的C/C++标准库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。通常我们可以在windows下看到一些后缀为.dll,.lib等就是库文件。

静态库:.a[Linux]、.lib[windows]

动态库:.so[Linux]、.dll[windows]

2. 静态库

静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中,程序运行的时候将不再
需要静态库。

注意:一个可执行程序可能用到许多的库,这些库运行有的是静态库,有的是动态库,而我们的编译默认为动态链接库,只有在该库下找不到动态.so的时候才会采用同名静态库。(因为动态库,更节省空间,后面有详细讲解)

2.1 生成静态库

这里首先要介绍一个工具(命令)

ar  -rc  $@ $^

@:归档的目标文件,^:归档的.o文件
rc 表示 (replace and create)

 这里Makefile文件来举例:

libmyc.a:mystdio.o mymath.oar -rc $@ $^
%.o:%.cgcc -c $<.PHONY:clean
clean:rm -f *.a *.o.PHONY:output
output:mkdir mylibcmkdir -p mylibc/includemkdir -p mylibc/lib cp *.h mylibc/includecp *.a mylibc/libtar czf mylibc.tgz mylibc

这里就是将写的mysdio.c 和mymath.c文件打包成静态库,并且压缩。

 2.2 静态库使用

这里直接在编译代码时包含上述头文件,是不能直接使用的,如:

#include "mystdio.h"
#include "mymath.h"

这里有三种情况:

情况一:头文件和库文件和我们自己的源文件在同一个路径下时

只需要-L选项即可:

gcc  main.c  -L. -lmyc

 -L:表示当前路径下寻找库文件;

-lmyc:使用时是在库文件(即libmyc.a)前面加-l,并且去掉后缀.a。

情况二:头文件和库文件有自己的独立路径

gcc main.c -I头文件路径 -L库文件路径 -lmyc

-I: 指定头文件搜索路径;

情况三::头文件和库文件安装到系统路径下

这里要讲一下如何将库文件和头文件安装在系统路径下:

mv libmyc.a /lib64/#库文件放到/lib64/路径下mv *.h /usr/include/#头文件放到/usr/include/路径下

将上述文件配置好后,就可以直接指定需要使用的库文件(不需要带-),就可以形成可执行程序了。

gcc  main.c  -lmyc

3. 动态库

动态库(.so):程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。

动态库可以在多个程序间共享,所以动态链接使得可执行文件更小,节省了磁盘空间。操作系统采
用虚拟内存机制允许物理内存中的一份动态库被要用到该库的所有进程共用,节省了内存和磁盘空
间。

一个与动态库链接的可执行文件仅仅包含它用到的函数入口地址的一个表(got),而不是动态库所在目标文件的整个机器码(二进制文件)

在可执行文件开始运行以前,动态库的机器码(二进制文件)由操作系统从磁盘上的该动态库中复制到内存中,这个过程称为动态链接(后两点在后面有讲解)

3.1 动态库生成

libmyc.so:mystdio.o mymath.ogcc -o $@ $^ -shared
%.o:%.cgcc -fPIC -c $<.PHONY:clean
clean:rm -f *.a *.o.PHONY:output
output:mkdir mylibcmkdir -p mylibc/includemkdir -p mylibc/lib cp *.h mylibc/includecp *.so mylibc/libtar czf mylibc.tgz mylibc

shared: 表示生成共享库格式

fPIC:产生位置无关码(position independent code)

一般情况下动态库文件使用.so后缀

3.2 动态库使用

这里动态库的使用和前面静态库的基本一致,三种情况是一样的,使用-I,-L选项是一样的。

但是这里有个很大的问题:

形成的可执行文件不能运行

这里通过ldd命令操作,查看该可执行文件所链接的动态库:

ldd a.outlinux-vdso.so.1 => (0x00007fff4d396000)libmyc.so => not foundlibc.so.6 => /lib64/libc.so.6 (0x00007fa2aef30000)/lib64/ld-linux-x86-64.so.2 (0x00007fa2af2fe000)

可以看到并不能找到用户链接得动态库。

这里还要解释一下,为什么前面静态库没有这个问题,因为静态库链接时,会将全部库文件加载到可执行文件中,并不需要执行时去寻找链接得库,但是链接动态库,执行时就需要去寻找动态库。

3.2.1 解决方案

方案一:这里也可以通过之前的方法,将拷贝 .so 文件到系统共享库路径下, 一般指/lib64。

方案二:向系统共享库路径下建立同名软连接:

ln -s 路径 目标路径(/lib64/目标文件名)

方案三:导入环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:库文件路径


文章转载自:

http://9NaKieKB.jnrry.cn
http://5WrK4Wji.jnrry.cn
http://mbx843Fs.jnrry.cn
http://1gcRMoRC.jnrry.cn
http://xoOUFKUU.jnrry.cn
http://vYCYgNPq.jnrry.cn
http://ToHhaQzw.jnrry.cn
http://lNbGApZf.jnrry.cn
http://iOvTCV0C.jnrry.cn
http://pk6kshvP.jnrry.cn
http://RT7xP41K.jnrry.cn
http://x0m2Z40l.jnrry.cn
http://eD9ZS8u1.jnrry.cn
http://n3MEJhw1.jnrry.cn
http://ZGl0gT86.jnrry.cn
http://y7B3w0QB.jnrry.cn
http://27nnU9sj.jnrry.cn
http://XdHvrnSy.jnrry.cn
http://t2em1cOO.jnrry.cn
http://wcCRdchO.jnrry.cn
http://9eq02q5Q.jnrry.cn
http://L81jIoo9.jnrry.cn
http://iOIV526L.jnrry.cn
http://PeNUtaMT.jnrry.cn
http://sQuq7oM7.jnrry.cn
http://fO196XsD.jnrry.cn
http://iBQpofKU.jnrry.cn
http://LYR5eRSl.jnrry.cn
http://OtJoqfWQ.jnrry.cn
http://hvcAGzBq.jnrry.cn
http://www.dtcms.com/wzjs/639367.html

相关文章:

  • 南通专业网站建设报价建站平台在线提交表格功能
  • 手机网站建设多少钱注册公司网上申请流程图
  • 如何做律所网站十大高端网站定制设计师
  • 网页制作网站制作步骤wordpress建站行吗
  • 云南购物网站建设文字转链接网址
  • 南京网站设计建设2023网络营销成功案例
  • wordpress导航站的源码wordpress高并发
  • asp.net视频网站模板下载建立公司网站的目的
  • 泰州市建设局审图中心网站深圳创业补贴2023
  • 如何做网站产品经理抚州 提供网站建站 公司
  • 族谱网站建设方案制作相册
  • 做plc课程设计的网站怎么自建导购网站做淘客
  • 触屏版网站模板低代码前端开发平台
  • 高端网站登录入口海门网页定制
  • 长沙城通基础管网建设有限公司怎么让客户做网站优化
  • 专业外贸制作网站网站备案信息查询接口
  • 网泰网站建设网络推广海南论坛论坛网站建设
  • 制作网站多少钱一个外贸网站建设哪里实惠
  • 烟台高端网站建设公司沈阳网站建设模块维护
  • 方案模板网站与客户沟通网站建设的技巧
  • 有做义工的相亲网站吗鹰潭建设网站
  • 百度网站建设及推广易做文学网站的logo
  • seo网站怎么做网站建设制作优帮云
  • 怎么形容网站做的很好旅游网站建设ppt模板
  • 智慧团建app北京seo服务商
  • 做网站手机版百度的网址是多少
  • 不用开源程序怎么做网站微信营销工具有哪些
  • 淘宝这种网站怎么做的衡阳关键词优化首选
  • c 做网站用什么框架店面设计师是什么
  • 禁止粘贴的网站个人网站域名取名