2010-05-15 174 views
0

当整个项目(解决方案)由多个子项目(.vcproj)组成时,将它们绑定的最佳方式是什么:作为静态库还是共享库?Visual Studio解决方案:静态或共享项目?

假设这些子项目未在别处使用,共享库方法不应该减少内存使用量或加载时间。

回答

3

意见:静态,在几乎所有情况下。

在Windows上的C++中构建跨动态加载库的接口要困难得多。例如,与Unix共享对象不同,您不能为所有模块设置标准单例,因为DLL会拥有自己的一组静态变量。

面向对象的接口通常很难从DLL中导出。

至于加载时间,像rebasing这样的问题需要用共享库来解决。

另一方面,今天您不共享的库可能会在将来共享。但是,在大多数情况下,最好在RAM或磁盘映像中支付重复价格,而不是依赖额外模块的价格。

+0

项目中的不同子模块,是的。与多个项目一起使用不适用于动态。无论采用哪种方法,您都必须注意符号实际结束的位置 – 2011-04-15 08:07:36

相关问题