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

太原建设银行网站找人做网站上线后被投诉侵权

太原建设银行网站,找人做网站上线后被投诉侵权,兰州手机网站制作公司哪家好,wordpress汉化安装教程目录 ​编辑 前言 静态库 为什么要使用库(形成原理 ) 生成一个静态库 静态库的使用 动态库 生成一个动态库 动态库的使用 解决方法 动态库加载过程 ​编辑 前言 库#xff08;Library#xff09;是一种方式#xff0c;可以将代码打包成可重用的格式#xff08;站… 目录 ​编辑 前言 静态库 为什么要使用库(形成原理 ) 生成一个静态库 静态库的使用 动态库 生成一个动态库 动态库的使用 解决方法 动态库加载过程 ​编辑 前言 库Library是一种方式可以将代码打包成可重用的格式站在巨人的肩膀上供其他程序调用。 库可以分为静态库StaticLibraries和动态库Dynamic Libraries 或 Shared Libraries 动态库库文件以.so为后缀(Windows中为.dll)静态库库文件以.a为后缀(Windows中为.lib) 库的命名规则lib库名.后缀 所以掐头去尾才是它的库名。使用gcc进行编译的时候默认是采用的动态链接如果要使用静态链接需要加上选项-static。 libc.a            libstdc.so.6 所以这两个库名分别为c和stdc 库中的内容都是一些被编译过但是还未被链接的目标文件以.o或者.obj结尾的二进制文件。 静态库 静态库在程序编译链接的时候将库的代码整合复制到可执行文件中的代码和数据中生成的可执行程序在运行时将不再需要静态库因此使用静态库生成的程序大小比较大 为什么要使用库(形成原理 ) 当我们需要程序功能提供给别人时但又不想直接给出源码我们可以将源文件汇编成二进制文件(二进制文件不会暴露源码)后将头文件和二进制文件目标文件交给别人不仅如此日常中将常用功能打包成库也可以提高效率 生成一个静态库 ar -rc 生成库的名字 源文件... ar 命令是 gnu 的归档工具常用于将目标文件打包为静态库ar(archive) -r (replace)若静态库文件当中的目标文件有更新则用新的目标文件替换旧的目标文件-c (create)建立静态库文件  一般静态库是以.a为后缀 以一个简单的运算为例 将函数定义的.c文件编译成二进制文件    使用ar命令将这些二进制文件打包成静态库 静态库的使用 前面我们创建了一个简单的静态库 当我们的程序依赖某个静态库时链接器(linker)会将库中的相关文件整合到可执行文件中前面提过我们的test.c文件依赖库中的sub,sum函数如果不链接库只能一个个链接源文件 而现在我们已经将所需的函数打包成了静态库libmymath.a; 考虑使用以下指令 gcc -o test.exe test.c -I ./mymath/include/ -L ./mymath/lib/ -lmymath 注 编译器不知道所包含的头文件.h在哪所以需要我们指定头文件的搜索路径头文件中只有函数的声明没有函数定义所以需要我们指定所要链接库文件的搜索路径编译器也不知道需要链接的库在哪里是哪一个库这还需要我们指定路径因为库目录下可能有很多库文件平时所写的C/C不需要这些选项可以直接编译是因为我们写的库不在系统默认路径下 -I指定头文件搜索路径大写的i-L指定库文件搜索路径-l指明需要链接库文件路径下的哪一个库L的小写 生成的文件很大因为链接静态库后该库中的所有数据和代码都存在可执行文件中所以后续将静态库删除也不会影响程序的执行​​​​ file查看文件  可以看到描述我提供的明明是静态库为什么是动态链接  gcc 默认是动态链接的建议行为对于特定的一个库究竟是动态链接还是静态链接取决于你提供的是动态库还是静态库一个可执行性程序不可能只依赖一个库函数也就是说必须依赖多个库函数但是假设动静态库同时给你编译器只能把静态库拷贝到可执行程序里面然后只能进行动态链接哪怕只有一个动态库剩下的全是静态库链接依旧是动态链接全部提供的是动态库链接也是动态链接提供有指定的静态库再以静态的方式编译这样链接就是静态链接 动态库 动态库Dynamic Libraries能够使多个程序共享同一份库代码而不需要将这些代码复制到每个程序的可执行文件中从而节省系统资源并便于维护和更新。 与静态库不同的是动态库被链接后存在于进程的共享区域内该区域内的数据和代码可以供多个进程使用。也就意味着如果我们在生成可执行文件之后将动态库删除程序便会报链接错误。这是和使用静态库不一样的地方。 生成一个动态库 gcc -fPIC -c sub.c gcc -fPIC -c sum.c选项 -fPIC表示生成位置无关码。 位置无关码的意思就是生成的代码在内存中可以被加载到任何位置而不是某个固定的地址。这种特性对于动态库尤其重要因为动态库需要能够被多个不同的程序共享并且每个程序可能将库加载到不同的地址空间。位置无关码的寻址方式为相对寻址可以将代码中的所有指针认为是一个个偏移量不同的程序给与它不同的初始地址这样就能灵活的将库加载到其它的地方。 生成动态库时我们不必使用ar命令使用 gcc 生成动态库即可多加了一个选项 -shared  选项 -shared 表示 链接器 生成一个动态库而不是默认的可执行文件。生成的动态库文件以.so结尾。 动态库的使用 动态库是在运行时被访问的 编译器能指定路径能找到动态库不代表操作系统能找到静态库没有这样的问题是因为它是一次性工程在链接阶段将所有的代码和数据都拷贝到程序内部了对于一个动态库链接时要告诉编译器自己在哪运行时要告诉操作系统在哪 解决方法 安装到系统 将我们自己的动态库拷贝到/lib里面就能成功运行了建立软链接 在/lib目录下建立软连接命令行导入环境变量 修改动态库默认路径的环境变量LD_LIBRARY_PATH:export LD_LIBRARY_PATH/usr/local/lib:$LD_LIBRARY_PATH 其中/usr/local/lib表示库路径修改.bashrc配置文件让环境变量永久生效  找到LD_LIBRARY_PATH配置项并在其路径下添加库的路径这样每次登录都会自动生效。 如果你发现你的./bashrc没有LD_LIBRARY_PATH那你可以自己手动加一个环境变量LD_LIBRARY_PATH过去:export LD_LIBRARY_PATH/path/to/your/libs:$LD_LIBRARY_PATH 动态库加载过程
http://www.w-s-a.com/news/272122/

相关文章:

  • 做网站创意杭州家具网站建设方案
  • 福州seo网站推广优化乐清建网站
  • 莆田cms建站模板简述网站设计流程
  • 班级网站建设组织机构建设注册中心网站首页
  • 即墨网站建设地址怎么在文档中做网站一点就开
  • 做网站联系方式互联网行业分析
  • 杭州网站建设索q479185700高淳网站建设
  • 有什么做任务拿钱的网站精准的搜索引擎优化
  • 洛阳有建社网站的吗电力建设工程质量监督总网站
  • 网站404报错热水器网站建设 中企动力
  • 网站降权恢复淘宝 网站建设
  • 安州区建设局网站台州优秀关键词优化
  • 网站假设教程湖南微信管理系统
  • 网站备案属于公司哪一块哪个网站是专门做封面素材
  • 广州个人做网站内江建设局网站
  • 网站开发 360百科大连哪里有手机自适应网站建设维护
  • 如何查网站pv网站功防教程
  • 建设银行网站信息补充营销推广的作用
  • 网站见建设seo外链自动群发工具
  • 在境外做网站网站团购网站seo
  • 进网站后台加什么360推广 网站建设
  • 网站备案号码专做网站漏扫的工具
  • 罗店网站建设wordpress响应式
  • 网站怎么制作小程序wordpress实时获取qq资料
  • 网站的流量怎么赚钱经销做网站都有什么好处
  • 如何做好网站首页企术建站
  • 杭州网站建设咨询蓝韵网络聊城有制作网站的吗
  • 网站开发注意的事项深圳企业网站
  • 哈尔滨网站制作哪里专业网站建设维护有哪些内容
  • 花的网站建设规划书网络营销培训