最近学习编程,想知道静态库与动态库之间的区别

近来学习编程,想知道静态库与动态库之间的区别
最好详细点,包括使用优缺点
------解决思路----------------------
C语言的静态库与动态库对比分析,各有长短
               库:  指由标准常用函数编译而成的文件,旨在提高常用函数的可重用性,减轻开发人员负担。常用的sdtio.h,math.h等库便是C函数库的冰山一角。
                    1.静态库:指编译链接阶段将整个库复制到可执行文件
                            1.1优点:静态链接的程序不依赖外界库支持,具有良好的可移植性。
                            1.2缺点:  每次库更新都需要重新编译程序,即使更新很小或只是局部。
                            1.3缺点:每个静态链接的程序都有一份库文件,存储时增加了硬盘空间消耗,运行时则增加了内存消耗。
                    2.动态库:指直道运行时才将库链接到可执行程序
                            1.1优点:  动态链接方式的程序不需要包含库(编辑链接时节省时间),占用的空间小很多。
                            1.2优点:  运行时系统内存只需提供一个共享库给所有程序动态链接,内存消耗减少。
                            1.3缺点:  需要系统中动态库支持才可运行,可能有动态库不兼容问题
                小结:在linux系统中:静态库.a
                                                        动态库.so
                               在windows中:静态库.lib
                                                        动态库.dll