1. 静态库和动态库学习
C++静态库与动态库 - 吴秦 - 博客园 (cnblogs.com)
静态链接库、动态链接库和动态加载库 - ITtecman - 博客园 (cnblogs.com) (难)(复杂)
下面两个图分别是头文件和库文件的默认搜索路径:
Linux基础——gcc编译、静态库与动态库(共享库)_daidaihema的博客-CSDN博客_linux编译静态库
注意看下动态库里找不到链接库的解决方法四条(结合第二个博客来看,第234条解决方案存疑):
以下为个人总结
思考:程序编译时链接动态链接库和运行时使用动态链接库的概念是不同的,在运行时,程序链接的动态链接库需要在系统目录下才行。
系统中的配置文件/etc/ld.so.conf是动态链接库的搜索路径配置文件。这个文件内,存放着可被Linux共享的动态链接库所在目录的名字(系统目录/lib,/usr/lib除外,这两个目录默认就是动态链接库的搜索路径)。为了让新增加的动态链接库能够被系统共享,需要运行动态链接库的 管理命令ldconfig。把当前工作目录(libhello.so.1所在的目录)加入动态链接库的搜索路径配置文件/etc/ld.so.conf中
ldconfig命令的作用是在系统的默认搜索路径和动态链接库配置文件中所列出的目录里搜索动态链接库,创建动态链接库装入程序需要的链接和缓存文件。搜索完毕后,将结果写入缓存文件/etc/ld.so.cache中
问题:
动态库的讲解到后面看不懂了(看懂一些了)
既然他们有自己的一套创建和编译方式,教程里教的是什么。。。
更新:学完了 大概是两套方式 有繁有简 日后在实践中可以思考一下