动态链接库和静态链接库的对比

静态链接库

静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序(exe等可执行文件),程序运行的时候不再需要其它的库文件。

动态链接库

动态链接就是把调用的函数所在文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行的时候再从DLL中寻找相应函数代码,因此需要相应DLL文件的支持。

举例:CoreFoundation就是用C写的一个动态链接库

对比

1 、静态链接生成的可执行文件体积较大,包含相同的公共代码,造成浪费;动态则小

2 、动态链接库的使用依赖于dll,若不存在会造成功能异常或者崩溃

3 、不同编程语言编写的程序只要按照函数调用约定就可以调用同一个DLL函数

4 、扩展性好,适用于大规模的软件开发,使开发过程独立、耦合度小,便于不同开发者和开发组织之间进行开发和测试

5、动态库运行速度比静态链接库慢


对于iOS开发来说,应当减少动态链接库的个数,提高应用的启动速度

你可能感兴趣的:(动态链接库和静态链接库的对比)