写在前面:
1、在实际项目开发当中,库文件用的很多,尤其是在不同的 企业之间为了防止源码公开,都是以库的形式提供给对方,然后提供必要的头文件就可以了。本文主要介绍Linux下和Windows下的库的格式,以及动态链接库和静态链接库的作用,Linux下如何用Makefile编译制作动态链接库的方法。
2、Makefile博大精深,在平时用的不多,所以本文也是对刚刚用过的Makefile简单使用的方法做一下总结,加深下印象。
QQ:993650814
正文:
一、 动态链接库和静态链接库
1、Windows下和Linux下的格式:
Windows下动态链接库的格式:.dll ; 静态链接库的格式: .lib;
Linux 下动态链接库的格式: .so; 静态链接库的格式: .a
2、Linux下动态链接库和静态链接库的不同点:
.a静态库:
链接时间:静态库在编译的过程中被加载入程序中。
链接方式:静态库的链接是将整个库中所有的函数整合进了目标代码。这样的优点是编译后的程序不再需要外部函数库 支 持。缺点是,如果要改变静态库,则需要重新编译整个工程。
.so动态库:
链接时间:编译的过程中不需要将动态库编译进目标代码,而是当程序执行到相关函数的时候才去调用动态库中的相应 函数。优点是,动态库
版权声明:本文为weixin_40204595原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。