c – 如何在中等大小的项目中诊断g错误“cc1plus.exe:内存不足分配838860800字节”?

c – 如何在中等大小的项目中诊断g错误“cc1plus.exe:内存不足分配838860800字节”?,第1张

概述参见英文答案 > Running ‘gcc’ on C++ source file on Linux gives “cc1plus: out of memory allocating …” error message                                    1个 我正在尝试使用基本的 makefile(在Visual Studio中编译得很好)将我的 C++ libr 参见英文答案 > Running ‘gcc’ on C++ source file on Linux gives “cc1plus: out of memory allocating …” error message1个
我正在尝试使用基本的 makefile(在Visual Studio中编译得很好)将我的 C++ library移植到g.我正在尝试编译的部分现在测量大约45000行代码.

库本身编译正常,但是当我尝试将其包含在控制台iterface应用程序中时,编译器会崩溃并显示以下消息:

cc1plus.exe: out of memory allocating 838860800 bytes

当我包含项目的主标题时(这是机器生成的并且没有提交给repo,请参见here on Gist).

我认为这是因为标题太大,但我注意到其他项目都有这样的无所不包的标题,并且不会遇到这些问题.我试图从标题中删除所有非必需品(大约1/3,其余部分是应用程序编译所必需的)并且问题仍然存在.我还注意到错误消息中的数字根本没有改变,所以我认为有一些奇怪的问题导致错误,而不是由于大量的代码引起的.

除了通常的STL之外,模板的使用非常少,而我正在编译的代码似乎并不显着.

我在windows 8.1 x64上的mingw32下使用g 4.8.1和16 GB的RAM.代码正在使用-std = c 98进行编译.

如何找到导致此问题的代码?即使使用-v开关(here is what it returns),g也不会向我提供建议原因的任何诊断信息.

解决方法 当您尝试使用gcc编译保存在windows中的UTF-16编码文件时会发生这种情况.将源的编码更改为UTF-8.见 related CPP documentation. 总结

以上是内存溢出为你收集整理的c – 如何在中等大小的项目中诊断g错误“cc1plus.exe:内存不足分配838860800字节”?全部内容,希望文章能够帮你解决c – 如何在中等大小的项目中诊断g错误“cc1plus.exe:内存不足分配838860800字节”?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1255264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存