链接
链接就是把其他第三方库和自己源代码生成的二进制目标文件融合在一起的过程。链接分为静态链接和动态链接两种。
静态链接
静态链接在链接的时候把所依赖的第三方库函数都打包到了一起,想用的时候直接使用就好了,这就导致了其实打包的东西很多,这导致最终的可执行文件非常大。同时程序的执行速度也很慢。一般情况下,静态链接的文件的结尾都是.a结尾的。
动态链接
动态链接不将所有的第三方库都打包到最终的可执行文件上,而是只记录用到了哪些动态链接库,在运行时才将那些第三方库装载进来,也就是将磁盘上的程序和数据加载到内存上。
Linux的动态库是以.so结尾的,windows是以.dll结尾的。