gpt4 book ai didi

c++ - 在 Linux 上的 C++ 源文件上运行 'gcc' 给出 "cc1plus: out of memory allocating ..."错误消息

转载 作者:IT王子 更新时间:2023-10-29 00:06:37 28 4
gpt4 key购买 nike

我在 Ubuntu 上使用“gcc”编译 C++ 源文件时遇到了一个令人费解的问题。解决了这个问题后,我想在这里发布它,以免其他人为解决它而头疼。

为了这份报告,我们有最简单的 C++“Hello, World”程序,存储在 main.cpp 中:

#include <stdio.h>

int main (int argc, char *argv[])
{
return 0;
}

当我运行命令时:

gcc main.cpp

我收到错误信息:

cc1plus: out of memory allocating 1677721600 bytes after a total of 475136 bytes

我确认我正在编译正确的位(即 32 位)。我做错了什么?

最佳答案

事实证明,我已将 C++ 源文件保存为 UTF-16 Unicode 编码文件,文件开头带有前导 Unicode 字节顺序标记 (BOM) 字节。该文件在 Windows 系统上保存为 UTF-16,提交到版本控制系统,然后 check out 到 Linux。 gcc 确实支持编码为 UTF-8 的 Unicode,但不支持编码为 UTF-16 的 Unicode。

解决方案是将源文件转换回标准的非 Unicode 编码。

关于c++ - 在 Linux 上的 C++ 源文件上运行 'gcc' 给出 "cc1plus: out of memory allocating ..."错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27588296/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com