内部编译器错误消息意味着什么,我能做些什么
What do internal compiler error messages mean, and what can I do?
我试图用pgCC编译器编译我的C++程序,该程序使用MPICH和NAG C库(我使用NAG生成随机数)。
然而,编译器给了我以下错误消息:
PGCC-S-0000-Internal compiler error. linearize: bad ili #: 0 (mpisim.C: 225)
PGCC-S-0000-Internal compiler error. gen_aili: unrec. ili opcode: 0 (mpisim.C: 225)
PGCC-S-0000-Internal compiler error. linearize: bad ili #: 0 (mpisim.C: 266)
PGCC-S-0000-Internal compiler error. gen_aili: unrec. ili opcode: 0 (mpisim.C: 266)
PGCC/x86 Linux 12.4-0: compilation completed with severe errors
我不知道这些信息指的是什么。有人能向我解释一下它们的意思吗?
我有没有办法弄清楚有问题的线路的位置?(mpisim.C: 225)
中的255
是否表示我代码中的行号?
内部编译器错误是编译器中的一个错误。除了向编译器供应商提出问题之外,你没有什么可做的。
通常,当您试图编译不正确的代码时,会发生ICE,但编译器完全可以想象会被有效的C++阻塞。这种语言非常复杂,很难在所有可能的组合中测试每一个可能的特征。
如果你设法找出导致崩溃的代码行,你可以尝试用更简单的术语重写它(例如,通过引入额外的局部变量或typedef)。
它们表示编译器本身发现了错误或不一致。类似于在代码中使用assert
。
如果您编译了一些非常奇怪和非法的代码,可能只是编译器团队没有测试过这个用例。否则很可能是编译器出了问题。
当我下载一堆资产时,有时会发生这种情况。任何事情都可能出错,因为两个脚本共享一个命名空间,或者这些脚本不适用于您正在使用的Unity版本。
我的建议是:
1) 检查你所有的脚本,看看是否有任何重复的名字,确保你把它们组织在文件夹中,这样做会更简单!
和
2) 如果你根本不知道发生了什么,就开始删除你下载的资产文件夹,从最新到最旧。每次删除资产文件夹时都要进行检查,看看您的错误是否发生了变化。一旦你发现是哪个脚本造成了麻烦,就只需要找出原因了。
如果出现内部编译器错误,很可能是由于硬件不好造成的。也许你的内存有问题?尝试运行memtest86。
相关文章:
- 我可以做些什么来消除或最小化这种将提供相同功能和行为的代码重复
- 我能做些什么来跟踪矢量元素?
- 我可以做些什么来改进指针向量中的此搜索?
- 我需要做些什么才能使用C++构建茧
- 我可以做些什么来提高内存搜索速度?
- 我能对 GNU ld 'legacy __sync_synchronize'警告做些什么?
- 我能做些什么"missing ; before X"一连串的错误?
- 我还能做些什么来改善此C 代码
- 内部编译器错误消息意味着什么,我能做些什么
- 我必须做些什么才能在编译器优化的代码中调用函数
- 对于 DirectX 11,我可以做些什么来不计算每个渲染()中的缓冲区
- 一个计算机专业二年级的学生能做些什么,这在未来可能会被认为是有价值的
- C++STL容器毫无例外地是不可用的,我们能做些什么呢
- 我包括了“SDL_TTF.h”.我还应该对SDT真正类型的字体工作做些什么
- 我需要做些什么才能使odeint集成函数在另一个类中编译
- LNK2005,我不知道我能做些什么来解决这个问题
- 我能做些什么来加速这个代码(字符串相似性)
- 到目前为止,我可以对Visual Studio 2015中的C++模块做些什么?(使用实验开关)
- gcc会自动使用-j4吗?我能做些什么来优化我的编译吗
- 对象未复制.我能做些什么来复制它们