动态库的应用有两个主要原因:
1、共享。多个程序可以使用同一个动态库
2、开发模式好。要求设计者对功能划分得更好
但动态库装载的时候慢,特别是运行中装载有明显延迟。一旦装载完毕执行起来根静态库比较慢不了。
静态库的优点:
代码装载速度快,执行速度略比动态库快
一直以来我以为在静态库中写一个单体类,就能在程序运行中只实例化一个实例,在一次定位中我这才发现,原来每个模块调用这个单体类时都各自实例化了一个实例。这个错误的理解导致我在单体类中初始化了一个com组件,然后每个模块调用时就都多重复Create了这个com组件。
遇到这种情况,我只好把这个单体类移动到一个动态库中,写成导出类,这样就不会多次初始化了。
1、共享。多个程序可以使用同一个动态库
2、开发模式好。要求设计者对功能划分得更好
但动态库装载的时候慢,特别是运行中装载有明显延迟。一旦装载完毕执行起来根静态库比较慢不了。
静态库的优点:
代码装载速度快,执行速度略比动态库快
一直以来我以为在静态库中写一个单体类,就能在程序运行中只实例化一个实例,在一次定位中我这才发现,原来每个模块调用这个单体类时都各自实例化了一个实例。这个错误的理解导致我在单体类中初始化了一个com组件,然后每个模块调用时就都多重复Create了这个com组件。
遇到这种情况,我只好把这个单体类移动到一个动态库中,写成导出类,这样就不会多次初始化了。