现代 IDE 是否可以立即连续编译源代码?
Does modern IDE compile source code instantly and continueously?
现代 IDE 例如 Visual Studio 和 Android Studio 可以突出显示语法错误,指出变量和方法名称中的拼写错误,突出显示未声明的变量等。
那么这些IDE是不是即刻持续编译源码呢?如果是,为什么实际编译过程往往比高亮显示错误慢很多?
Visual Studio 在发现语法和 semantic/logical 错误时不会编译,但它可以通过执行 来检测这些错误"lexical analysis" 和 "syntactical analysis" 编译代码的步骤,其他 IDE 在编译 而不编译 时可能采取的步骤,因为它有一个内置的功能。当你点击“Build”时,就是编译源代码的时候。编译需要更长的时间,因为编译器不仅会指示错误,还会将您的源代码转换为汇编语言,然后再转换为机器代码(复杂的过程,其速度取决于许多因素)。此外,编译器在堆和调用堆栈上留出内存。这些过程迫使编译阶段花费比仅仅指出错误更长的时间。
现代 IDE 例如 Visual Studio 和 Android Studio 可以突出显示语法错误,指出变量和方法名称中的拼写错误,突出显示未声明的变量等。
那么这些IDE是不是即刻持续编译源码呢?如果是,为什么实际编译过程往往比高亮显示错误慢很多?
Visual Studio 在发现语法和 semantic/logical 错误时不会编译,但它可以通过执行 来检测这些错误"lexical analysis" 和 "syntactical analysis" 编译代码的步骤,其他 IDE 在编译 而不编译 时可能采取的步骤,因为它有一个内置的功能。当你点击“Build”时,就是编译源代码的时候。编译需要更长的时间,因为编译器不仅会指示错误,还会将您的源代码转换为汇编语言,然后再转换为机器代码(复杂的过程,其速度取决于许多因素)。此外,编译器在堆和调用堆栈上留出内存。这些过程迫使编译阶段花费比仅仅指出错误更长的时间。