(本文属于总结性文章,并非是基础性的讲解。)
————————————————————————————————————————–
静态链接库
1 静态链接库,在对源代码进行编译以后,代码中用到的标准函数的目标文件都加载到内存,然后等待CPU执行,这就是静态链接库。而动态链接库不同。
2 静态链接库是把所有的目标文件链接到一起得到一个可执行文件,该可执行文件随时都可以执行。
3 静态链接库加载时间长,运行起来流畅。
4 当静态链接库进行修改或者升级时,可执行文件也需要修改,所以需要对源代码重新编译。
5 静态链接库对内存的高效利用较低,比较适合单任务,小程序的运行。
动态链接库
1 动态链接库是为了节省内存而存在的。在对源代码进行编译后,用到的标准函数目标文件不会直接加载到内存中,只是加载lib库文件,等到要执行该函数时才把该函数的目标文件加载到内存。
2 动态链接库是在应用程序启动后边执行边链接,如果系统中没有所需要的动态链接库,则程序无法执行。
3 动态链接库加载时间短,没有静态链接库运行的流畅。
4 当对动态链接库进行修改或者升级时,不影响可执行exe文件的执行,因此当动态链接库变动时,不需要再对源代码再次编译。
5 动态链接库对内存的利用率较高,适合多任务,大程序的运行。