静态库Visual Studio生成的最大文件大小或其他限制?

时间:2014-03-03 14:27:02

标签: c++ visual-studio visual-c++

在Visual Studio(2008,2010,...)下是否有一些限制,特别是对于C ++大项目?

我想到的限制如下:
- 要编译/链接的项目的最大文件数
- 可生成的最大.lib文件大小

我们正在处理相当大的项目,所以我们希望防止任何未来问题。 例如,我们已经遇到了太大的.obj文件的问题,我们设法纠正了感谢Visual Studio / bigobj标志。

感谢。

1 个答案:

答案 0 :(得分:2)

您真正的问题不在于您不知道工具集的各种大小限制。问题是,如果您遇到其中一些限制,就没有关于如何做出反应的计划。我有两个建议。

首先是将巨大的单片静态库拆分成碎片;这是您提到的任何限制的通用解决方案。目标代码的巨大板块已经足以证明代码库中是否存在良好的抽象。 Visual Studio中的库可以包含对链接时自动合并的其他库的引用,因此没有技术上的理由要求单个庞大的库。

其次,您似乎没有任何自动测试表明您遇到问题。一种自动测试是将文件大小和暴露符号的数量(例如)与策略限制进行比较。如果超出策略限制,它应该向有权要求对其采取行动的人员生成警告和消息。另一种自动测试是一个测试程序,它链接每个入口点(或至少大多数入口点),并确保您的代码实际链接。

但是,如果你解决第一个建议,我的第二个建议是没有意义的。

相关问题