C++之动态库与静态库的制作与使用
1. 静态库
命名规则
Linux:libxxx.a,lib固定前缀,xxx库名字,a固定后缀
Windows: libxxx.lib
静态库的制作与使用
制作
gcc -c t
(本文是作者在牛客网上c++高并发服务器课程的学习整理) 1. 静态库 命名规则 Linux:libxxx.a,lib固定前缀,xxx库名字,a固定后缀 Windows: libxxx.lib 静态库的制作与使用 制作
使用
2. 动态库 命名规则 Linux:libxxx.so,lib固定前缀linux动态库,xxx库名字,so固定后缀 Windows: libxxx.dll 动态库的制作与使用 制作
使用 程序启动之后,动态库会被动态加载到内存中,需要系统的动态载入器来获取该绝对路径。对于elf格式的可执行程序,是由ld-linux.so完成,先后搜索elf文件的以下: DT_RPATH段环境变量LD_LIBRARY_PATH
/etc/ld.so.cache文件列表
/lib/, /usr/lib目录 将库文件放入/lib/,/usr/lib里面,但是不推荐这种方式,因为这两个文件夹里本来库文件就很多,可能会重名覆盖。 可以通过 ldd main命令检查动态库依赖关系 3. 静态库与动态库的差异 区别:链接阶段的处理不同,分别成为静态链接方式和动态链接方式。(库很小用静态,库很大用动态)。 静态库:GCC进行链接时,会把静态库中代码打包到可执行程序中。 动态库:GCC进行链接时,动态库的代码不会被打包到可执行程序中。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |