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

徐州建设银行网站手机测评做视频网站

徐州建设银行网站,手机测评做视频网站,贵阳专业网站建设公司哪家好,如何策划一个营销方案目录 概述 库 库函数 静态库 动态库 制作动静态库 使用动静态库 如何让系统默认找到第三方库 lib和lib64的区别 /和/usr/和/usr/local下lib和lib64的区别 环境变量 配置相关文件 个人主页#xff1a;东洛的克莱斯韦克-CSDN博客 简介#xff1a;C站最萌博主 相关…目录 概述 库 库函数 静态库 动态库 制作动静态库 使用动静态库 如何让系统默认找到第三方库 lib和lib64的区别 /和/usr/和/usr/local下lib和lib64的区别 环境变量 配置相关文件 个人主页东洛的克莱斯韦克-CSDN博客 简介C站最萌博主 相关文章【linux】认识“文件”的本质理解“文件系统”的设计逻辑体会linux优雅的设计理念-CSDN博客 【linux】进程控制——进程创建进程退出进程等待-CSDN博客 【linux】如何优雅的使用vim编辑器-CSDN博客 概述 系统调用 内核对外提供接口。用户进程不能直接访问内核数据并对其操作只能通过这些接口访问进程调用这些接口的行为叫做系统调用 访问内核 系统调用  shell外壳  库函数 库 库函数 系统调用的功能是很纯粹的。库函数是把系统调用进行了封装让功能更丰富。 以C库中的printf为例。printf底层封装的是writewrite接口的功能是把数据刷到内核缓冲区而printf会在内核缓冲区之前封装一层用户级缓冲区以提高printf函数的效率。 库会为我们提供丰富的库函数来满足我们对编程的需求。人们常说的站在巨人的肩膀上其实就是把别人写好的成熟的库拿来用。 静态库 命名格式为lib____.a    前缀为lib后缀为.a。 中间部分为库名。 .o的程序文件在链接静态库时是把整库拷贝到目标程序文件中。这种链接成为静态链接。静态链接之后目标程序文件就和静态库没有任何关联了 静态库之作用与程序的链接阶段 动态库 命名格式为lib____.so   前缀为lib后缀为.so。 中间部分为库名。 对于动态库的链接可以理解为是把库方法的地址给给目标文件 如果一个进程需要动态库动态库就要被加载到内存。如果多个进程共同使用一个动态库这个动态库也可以称为共享库 制作动静态库 制作静态库 1.把可执行程序编译成.o文件也就是二进制文件 2.将这些二进制文件用ar工具打包就形成静态库啦 示例 ar -rc libmymath.a add.o sub.o ar 是 gnu 归档工具 rc 表示 (replace and create) 制作动态库以C为例 1.用gcc把可执行程序编译成.o文件带上 -fPIC选项-fPIC表示与位置无关码 2.用gcc把.o文件打包成动态库带上c -shared 选项 shared表示生共享库格式 示例 gcc -fPIC -c sub.c add.cgcc -shared -o libmymath.so *.o 我们用如下几个文件制作动态库和静态库 静态库文件 static.c #includestatic.h 2 3 void Print()4 {5 printf(hello linux\n);6 printf(hello linux\n);7 printf(hello linux\n);8 printf(hello linux\n);9 printf(hello linux\n);10 printf(hello linux\n);11 12 return ;13 14 }static.h #includestdio.h void Print();动态库文件  dynamic.c #includedynamic.h2 3 void Prinr_d()4 {5 6 printf(hi linux\n);7 printf(hi linux\n);8 printf(hi linux\n);9 printf(hi linux\n);10 printf(hi linux\n);11 12 return ; }dynamic.h  1 #includestdio.h2 3 void Print_d(); 编写make脚本 1 s_lib libmystatic.a2 d_lib libmydynamic.so3 4 #伪目标5 .PHONY:all6 all:$(s_lib) $(d_lib)7 8 #静态库9 $(s_lib):static.o10 ar -rc $ $^11 static.o:static.c12 gcc -c $^13 14 #动态库15 $(d_lib):dynamic.o16 gcc -shared -o $ $^17 dynamic.o:dynamic.c18 gcc -fPIC -c $^19 20 #清理21 .PHONY:clean22 clean: 23 rm -rf *.o *.a *.so mylib 24 25 #发布26 .PHONY:ph27 ph: 28 mkdir -p mylib/lib29 mkdir mylib/include30 cp *.a *.so mylib/lib31 cp *.h mylib/include ~将库发布出来把动静态库和相关头文件打包到一个目录里 查看mylib目录结构 使用动静态库 我们自己制作的库属于第三方库需要在gcc中添加相关选项 I 大写i表示头文件路径 L:表示库路径 l (小写L)表示链接哪个库 静态库测试代码如下  s_test.c 1 #includestatic.h2 3 int main()4 {5 Print(); 6 7 return 0;8 } 用gcc编译 动态库测试代码如下d_test.c 1 #includedynamic.h2 3 int main()4 {5 6 Prinr_d(); 7 8 return 0;9 }用gcc编译 那么动态链接第三方库的可执行程序能运行吗 显然是不能。 进程需要动态库的方法实现动态库就必须加载到内存。但上述指令中我们只告诉了gcc相应的库在哪里。 系统并不能找到相应的库。 而且上述gcc编译时需要带一堆路径。根本原因是系统找不到第三方库。 如何让系统默认找到第三方库 系统会去默认路径下找相关的库(静态库和动态库) /lib 和/lib64 /usr/lib 和 /usr/lib64 /usr/local/lib和/usr/local/lib64 系统会去默认路径下找相关的头文件 /usr/include lib和lib64的区别 ilb是32位程序运行的库 lib64是64位程序运行的库 /和/usr/和/usr/local下lib和lib64的区别 /lib和/lib64   是    /usr/lib和 /usr/lib64    的软连接也就是说根目录下的是快捷方式 在根目录下用 ll 指令查看 /usr/local/lib和/usr/local/lib64和上述两个库目录的区别呢 /usr下面的lib和lib64一般存放的是系统安装的标准库文件和共享库文件是系统管理安装的。 /usr/local下面的lib和lib64是由系统的管理员或者我们去手动安装的。 知道了系统默认搜索路径由如下两个方法就可以让系统找到第三方库 1.直接把库拷贝到系统的默认搜索路径下 2.在系统默认搜索路径下建立软连接 ln    -s   要查找的路径    软连接的文件放哪 环境变量 LIBRARY_PATH是一个环境变量它用于指定程序在寻找共享库动态链接库.so文件时应搜索的路径列表。 当编译或运行一个动态链接的程序时如果程序依赖的库不在当前目录或系统默认的搜索路径中LIBRARY_PATH会帮助系统查找这些库。 LD_LIBRARY_PATH 是一个重要的环境变量它告诉动态链接器在哪里查找共享库。 当你在命令行中运行一个程序时如果它依赖于某些共享库并且这些库不在标准库路如 /lib、/usr/lib 等中 LD_LIBRARY_PATH 会帮助系统查找这些库。 临时设置 export LD_LIBRARY_PATH/path/to/libs:$LD_LIBRARY_PATH将新的路径添加到 $LD_LIBRARY_PATH 的前面并用冒号:分隔可以确保新的路径在标准库路径之前被搜索 永久设置 对于某个用户可以将 export 命令添加到 /.bashrc、/.bash_profile 或 /.profile 文件中 对于所有用户可以将 export 命令添加到 /etc/profile 或 /etc/environment 文件中 配置相关文件 让系统找到相关的动态库可以在/etc/ld.so.conf.d/目录下建立以.conf为后缀的文件。在这个文件中写入动态库的路径即可。 然后执行ldconfig指令更新
http://www.tj-hxxt.cn/news/221740.html

相关文章:

  • 页面好看的教育类网站模板揭阳网站建设揭阳
  • 手机网站展示品牌网站建设维护
  • 全国网站打开速度wordpress免费采集器
  • 证券投资网站建设免费大数据分析网站
  • p2p金融网站开发php mysql的网站开发
  • 小而美企业网站建设学建站论坛
  • 网站付费功能描述描述对于营销型网站建设很重要飘红效果更佳
  • 购物网站主页模板软件下载站网站源码免费
  • 怎样做视频上网站赚钱wordpress apache版本号
  • 敦煌做网站的公司电话网站建设怎么选择
  • 企业网站建设的常见流程中文域名注册 .网站
  • 网站开发实战作业答案移动端网站开发与网页开发区别
  • 网络营销有哪些功能?百度app优化
  • 网页效果制作外贸网站怎么做seo
  • 济南著名网站建设wordpress获取分类下所有文章
  • 旅游网站建设问题百度域名多少钱
  • 网站设计团队有哪些职业任经理 徐州网站建设
  • 网站有可能搜不到吗wordpress注册完成请检查电子邮件
  • 做网站需要硬件设施网站设计基础知识
  • 佛山行业网站建设邯郸网站建设行情
  • 有没有什么排版的网站做seo网站地图重要吗
  • 华为官方网站进入海口网站建设公司哪家好
  • 网站的网络推广方案摄影网站免费
  • 企业多语言网站开源免费网站域名注册个人
  • 做电影网站用什么软件叫什么名字建筑公司网站设计思路
  • 网站开发会用到定时器功能文化馆门户网站建设的作用及意义
  • 网站开发电脑设置网站建设微信官网开发
  • 用开源源码做淘宝客网站泰安做网站网络公司
  • 手机网站 多html网站正能量下载直接进入主页可以吗安全吗
  • 北京网站设计公司有哪些商城类网站怎么优化