内部编译器错误消息是什么意思,我该怎么办? [英] What do internal compiler error messages mean, and what can I do?

查看:1108
本文介绍了内部编译器错误消息是什么意思,我该怎么办?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图编译我的C ++程序,它使用MPICH和NAG C库(我使用NAG生成随机数),与一个pgCC编译器。

I was trying to compile my C++ program, which uses MPICH and NAG C library (I use NAG to generate random numbers), with a pgCC compiler.

,编译器给我以下错误消息:

However, the compiler gave me the following error message:

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

我不知道这些消息是指什么。有人可以向我解释他们的意思吗?

I have no idea what these messages are referring to. Can someone explain to me what they mean?

有没有办法找出有问题的行的位置?在(mpisim.C:225)中的 255 是否表示我的代码中的行号?

Is there a way for me to figure out the position of the problematic line(s)? Does the 255 in (mpisim.C: 225) indicate the line number in my code?

推荐答案

内部编译器错误是编译器中的错误。没有多少你可以做的不是提高编译器供应商的问题。

An internal compiler error is a bug in the compiler. There's not much you can do short of raising the problem with the compiler vendor.

通常,ICE发生在你试图编译不正确的代码,但它也是完全可以想到的一个编译器来扼杀有效的C ++。语言非常复杂,很难在所有可能的组合中测试所有可能的功能。

Usually, ICEs happen when you attempt to compile incorrect code, but it is also entirely conceivable for a compiler to choke on valid C++. The language is so complex that it is hard to test every possible feature in all possible combinations.

如果你设法找出导致崩溃的代码行,可以尝试并用更简单的术语重写它(例如通过引入额外的局部变量或typedef)。

If you manage to figure out the line of code that's causing the crash, you could try and rewrite it in simpler terms (e.g. by introducing additional local variables or typedefs).

这篇关于内部编译器错误消息是什么意思,我该怎么办?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆