当整个项目(解决方案)由多个子项目(.vcproj)组成时,将它们联系起来的优选方式是:作为静态库还是作为共享库?
假设这些子项目未在其他地方使用,共享库方法不应减少内存使用或加载时间。
答案 0 :(得分:3)
意见:几乎在所有情况下都是静态的。
在Windows上的C ++中,跨动态加载的库构建接口要困难得多。例如,与Unix共享对象不同,您不能为所有模块使用标准单例,因为DLL将拥有自己的一组静态变量。
面向对象的接口通常很难从DLL导出。
至于加载时间,需要使用共享库来解决诸如变基的问题。
另一方面,您今天未共享的库可能会在将来共享。但是,在大多数情况下,最好支付RAM或磁盘映像中的重复价格,而不是依赖额外模块的价格。