程序的执行方式
计算机只能识别机器语言(即进制代码), 如10100。
但用二进制代码编程难以记忆、检销,放只能用高级语言编程。所以,计算机须完成个翻译过程,即将高级语言翻译成机器语言,如下图所示。
高级语言源程序 翻译 机器代码
翻译过程这种翻译过程分3种情况。一种是汇编程序,其语言源程序代码与机器指令 对应。一种是编译程序, 是按某种约定将源代码翻译为目标代码,通过连接程序将目标程序与所调用的标准函数库连接为一体,然后执行程序,如常用的Pascal、C语言等。一种是解释程序, 与编译程序思想相似,但是一条条地翻译, 译出一句执行一句, 如早期的BASIC语言。
对于编译程序,编译执行是在编写完代码后,通过特别的工具软件将源代码编译成目标代码进而转换成机器代码(即可执行程序), 然后直接交给操作系统执行,也就是说程序是作为一个整体来运行的。这类程序的优点是执行速度比较快,还有编译连接之后可以独立在操作系统上运行,不需要其他应用程序的支持:缺点是不利于调试,每次修改之后都要执行编译连接等步骤,才能看到其执行结果。此外,有些集成开发环境与操作系统之间存在一定的依赖性,不同操作系统需要的编译器可能不相同,因此,在一个系统上编译的程序到另外一个系统上并不一定能够运行。
C语言的编译执行过程如图下图所示。
C编程程序 C链接程序
源程序 目标程序 可执行程序