简单讲,
编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级
语言)”的程序。一个现代编译器的主要工作流程:
源代码 (source code) →
预处理器 (preprocessor) →
编译器 (compiler) →
目标代码 (object code) →
链接器 (Linker) → 可执行
程序 (executables)
高级计算机
语言便于人编写,阅读交流,维护。
机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言
源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。
源代码一般为高级语言 (High-level language), 如
Pascal、
C、
C++、
Java、
汉语编程等或
汇编语言,而目标则是机器语言的
目标代码(Object code),有时也称作机器代码(Machine code)。
对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。
简单讲,<a href="./?mention=编译器">编译器</a>就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级<a href="./?mention=语言">语言</a>)”的程序。一个现代编译器的主要工作流程:<a href="./?mention=源代码">源代码</a> (source code) → <a href="./?mention=预处理器">预处理器</a> (preprocessor) → <a href="./?mention=编译器">编译器</a> (compiler) → <a href="./?mention=目标代码">目标代码</a> (object code) → <a href="./?mention=链接器">链接器</a> (Linker) → 可执行<a href="./?mention=程序">程序</a> (executables)<br/>高级计算机<a href="./?mention=语言">语言</a>便于人编写,阅读交流,维护。<a href="./?mention=机器语言">机器语言</a>是计算机能直接解读、运行的。编译器将汇编或高级计算机语言<a href="./?mention=源程序">源程序</a>(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。<a href="./?mention=源代码">源代码</a>一般为高级语言 (High-level language), 如<a href="./?mention=Pascal">Pascal</a>、<a href="./?mention=C">C</a>、<a href="./?mention=C++">C++</a>、<a href="./?mention=Java">Java</a>、<a href="./?mention=汉语编程">汉语编程</a>等或<a href="./?mention=汇编语言">汇编语言</a>,而目标则是机器语言的<a href="./?mention=目标代码">目标代码</a>(Object code),有时也称作机器代码(Machine code)。<br/>对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。