0

我们知道编译器负责识别语法错误(使用链接器)。run从逻辑上讲,当我们按下按钮 或运行程序时,编译阶段就开始了F7。然而,我们注意到最近的 Visual Studio 版本,编译器可以在我们运行测试代码之前识别出一些错误(例如,在红色下划线未定义的函数)。我的问题是这是怎么发生的?编译器在编辑阶段是否在后台运行?

4

1 回答 1

1

微软的 Intellisense 使用了一个名为EDG C++ Front End的工具,它基本上是 Edison Design Group C++ Compiler 的前半部分。EDG 的程序在编译器世界中以理解未完成的源代码而闻名——诸如“你忘记了分号”和“那行不好,但我可以在下一行重新同步”。但它是一种与 Visual C++ 不同的编译器技术(作为编译器,它不是那么好),所以有时您会在 Intellisense 中收到一条警告,提示您按 F7(“编译”)时完全没问题的代码。

于 2013-10-21T11:09:42.660 回答