gpt4 book ai didi

gcc - 为什么编译器错误会成批出现?

转载 作者:行者123 更新时间:2023-12-02 11:09:10 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

5年前关闭。




Improve this question




我注意到编译器错误是分批出现的。当我做一个 make 时,我可能有 80 个错误,或者很多。然后,在修复所有这些错误之后,在修复最后一个错误之后,我运行 make 并且编译器会宣布另一批 100 个错误。这种情况发生了好几次。编译器似乎要经过几个轮次或阶段,在每个阶段结束时都会产生一组错误。

请注意,这与人为错误限制无关。 fmax-errors 默认为 0,这是我编译时的值。

这种行为的解释是什么?

请注意,在这种情况下,我使用的是 gcc,但我注意到其他编译器也在做同样的事情。

最佳答案

你将无能为力。

想象一个包含多个函数定义的 c(++) 文件。在错误的函数实现之后,编译器可能根本无法完全解析模块源代码。错误通常会引入歧义,编译器无法解决这些歧义。假设您缺少函数的右大括号。编译器应该如何解释它以进行进一步的错误检查?只是假设大括号在那里?或者假设以下函数是第一个函数中的嵌套函数,并且文件末尾实际上缺少右括号?

在实践中我很少关心它,因为如果它没有构建,就不值得对程序的行为进行推理。您最终必须一一经历所有错误。

不过,编译器开发人员对此的看法会很有趣。

关于gcc - 为什么编译器错误会成批出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38269608/

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