目标程序(拼音:mù biāo chénɡ xù,英文:Object Program)又称“ 目的程序”。
为源程序经编译可直接被计算机运行的 机器码集合,在 计算机文件上以.obj作扩展名----由 语言处理程序( 汇编程序, 编译程序, 解释程序)将源程序处理(汇编,编译,解释)成与之等价的由机器码构成的,计算机能够直接运行的程序,该程序叫目标程序。
目标程序在许多编程工具中都有作用。
计算机并不能直接地接受和执行用高级语言编写的 源程序, 源程序在输入计算机时,通过" 翻译程序"翻译成机器语言形式的目标程序,计算机才能识别和执行。这种"翻译"通常有两种方式,即 编译方式和解释方式。 编译方式是指利用事先编好的一个称为 编译程序的 机器语言程序,作为 系统软件存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是指 源程序进入计算机后, 解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。如PASCAL、FORTRAN、COBOL等高级语言执行 编译方式; BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写 编译程序的高级 程序设计语言。
编译程序、 解释程序、 汇编程序是3种 语言处理程序。其区别主要为: 汇编程序(为低级服务)是将 汇编语言书写的 源程序翻译成由 机器指令和其他信息组成的目标程序。 解释程序(为高级服务)直接执行 源程序或源程序的内部形式,一般是读一句源程序,翻译一句,执行一句,不产生 目标代码,如BASIC 解释程序。 编译程序(为高级服务)是将高级语言书写的 源程序翻译成与之等价的低级语言的目标程序。 编译程序与解释程序的区别之一在于前者生成 目标代码,而后者不生成;此外,前者产生的目标代码的执行速度比解释程序的执行速度要快;后者人机交互好,适于初学者使用。用COBOL、FORTRAN等语言编写的程序考虑到执行速度一般都是编译程序。
而二者最大的区别在于:对解释执行而言,程序运行时的控制权在解答器而不在用户程序;对编辑执行而言,运行时的控制权在于用户程序。
为了使计算机能按照人们的意志工作,就要根据问题的要求,编写相应的程序。程序是一组计算机可以识别和执行的指令,每一条指令使计算机执行特定的操作。
程序可以用高级语言或汇编语言编写,用高级语言或汇编语言编写的程序称为源程序。C语言源程序的扩展名为“.c”。源程序不能直接在计算机上执行,需要用“编译程序”将源程序编译为二进制形式的代码。
源程序经过“编译程序”编译所得到的二进制代码称为目标程序。目标程序的扩展名为“.obj”。目标代码尽管已经是机器指令,但是还不能运行,因为目标程序还没有解决函数调用问题,需要将各个目标程序与库函数连接,才能形成完整的可执行程序。
目标程序与库函数连接,形成的完整的可在操作系统下独立执行的程序称为可执行程序。可执行程序的扩展名为".exe"(在dos/windows环境下)。