对编译器(compiler)、连接器(linker)和集成开发环境(IDE)的理解
编译器(compiler)的本质是电脑程序(本质是.exe可执行文件),将高级程序(易于程序员编写的程序语言,比如Pascal、C、C++、C# 、Java等)转换成机器语言(即机器能够识别的语言,通常将其称为汇编语言,二进制的)。即将高级语言编程的程序翻译为计算机能够解读运行的程序(比如对硬盘中的数据进行读取或者写入),也就是可执行文件。
一个现代编译器的主要工作流程如下: 源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 汇编程序 (assembler) → 目标代码 (object code) → 链接器 (Linker) → 可执行文件 (executables)
摘自:http://www.cnblogs.com/liyanwei/archive/2010/04/29/1723931.html
在此,我想多说关于程序编译的一些规范和方法,一般来说,无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link)。
PS:这里容易造成的误解是将编译器当成硬件,其实它是一个电脑程序,就好比公式编辑器其实它也是一个电脑程序,而不是硬件。
可执行文件里头是二进制的微处理器(CPU)指令。
汇编语言(accembly language)详解:汇编语言是能够用于对微处理器(cpu)进行编程的低级语言。一种汇编语言适用于一种结构的微处理器,不像高级语言那样可以移植。汇编语言的文件就是可执行文件(.exe)。
VS 2008 (一般也称为 .net系列) 其实就是一种集成开发环境(IDE: integrated development environment)。Eclipse也是一种开发环境为java提供开发环境。
集成开发环境是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。
本文参考维基百科:
http://zh.wikipedia.org/wiki/%E7%BC%96%E8%AF%91%E5%99%A8
http://zh.wikipedia.org/wiki/%E5%9F%B7%E8%A1%8C%E6%AA%94
http://zh.wikipedia.org/wiki/%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80