为什么编译器不能在我输入代码时直接编译它呢?
从用户的角度来看,它可以像语法着色一样顺畅工作。如果您停止输入足够长的时间(可能是几秒钟),则编译(而不是链接)将完成,并且使用类似语法着色的方式来识别代码错误。
这并不像我的3GHz四核怪兽电脑真的很忙于做其他事情。为什么不让它一直编译呢?
为什么编译器不能在我输入代码时直接编译它呢?
从用户的角度来看,它可以像语法着色一样顺畅工作。如果您停止输入足够长的时间(可能是几秒钟),则编译(而不是链接)将完成,并且使用类似语法着色的方式来识别代码错误。
这并不像我的3GHz四核怪兽电脑真的很忙于做其他事情。为什么不让它一直编译呢?
这正是Visual Studio中VB.NET代码编辑器所做的。
优点是比C#更准确的智能感知。缺点是它浪费了真正巨大的处理器时间和内存。 :-(
一些集成开发环境(IDE)在输入代码时会进行编译(或至少检查语法和一些语义)。例如,我认为Eclipse就是这样做的。我认为Visual Basic 6(以及可能更早的版本)也是如此。
这完全取决于编程语言。
拥有上下文无关语法的语言可以在输入表达式后预编译一次。然而,这类语言项目的编译速度总是很快的,所以为什么不在代码就绪时快速批量处理工作而不使用 CPU 呢?
其他语言,比如臭名昭著的 C++,是上下文相关的。在大多数情况下,编译器无法理解表达式,除非它已经读取了表达式之前的整个代码。这真的很难解析,这就是为什么我们现在只能在 VS2010 和其他最近的 IDE 中进行编译前错误检查。在这种情况下,实现您要求的功能似乎是不可能的。
话虽如此,我完全不是专家。这就是我所知道的全部。
即使是像PHP这样的解释性语言,Komodo编辑器也支持此功能。我相信还有许多其他编辑器支持几乎所有语言的此功能。