我想知道是否有人知道当 C++ 类 API 和/或 DLL 中的 C++ 类数量变得太大时会发生多少 Microsoft Visual C++ 8.0 编译器错误。谢谢您的帮助。
2 回答
我对这个问题的回答是:
那很可能是 Microsoft Visual C++ 编译器 C1002 ( http://msdn.microsoft.com/en-US/library/c9e6fs6b%28v=vs.80%29.aspx ):“编译器的堆空间不足2"
致命错误 C1002 Visual Studio 2005 其他版本 Visual Studio 2012 Visual Studio 2010 Visual Studio 2008 Visual Studio .NET 2003 3 人中有 1 人评价此有用 - 评价此主题 错误消息 编译器在第 2 次中堆空间不足
编译器在第二遍过程中耗尽了动态内存空间,这可能是由于程序包含过多的符号或复杂的表达式。
使用以下可能的解决方案进行修复 1.将源文件分成几个较小的文件。
2.将表达式分解成更小的子表达式。
3.删除其他消耗内存的程序或驱动程序
请让我知道您对这个提议的答案的意见。
今天早上有人告诉我解决这个问题的方法是关闭 Visual Studio C++ 2008 环境,然后重新启动 ii。
下面显示的是我收到的 Stack Overflow 问题的最新答案:
Microsoft Visual C++ 8.0 编译器错误,当 C++ 类 API 和/或 DLL 中的 C++ 类数量变得太大时发生
“编译器的输入对象是源文件,而不是 dll。dll 是链接器的输出。我从未见过太大而无法编译的源文件。我记得最大的文件有大约 50,000 行。它可能包括头文件总大小相同或更大。
如果您的系统堆内存不足,则链接器更有可能因此报告问题或错误。在我看来,这只是在现代系统上发生的难得机会。您也可以/应该升级到较新版本的 Visual Studio,例如 Visual Studio 2012 (vc11) 比您的编译器年轻 7 年。如果你在 windows xp 上开发,你应该去 vs2008 (vc9),它比 vc8 更稳定"