源程序与目标程序的主要区别在于源程序是程序员编写的可读程序,而目标程序是通过编译源程序创建的机器可执行程序。
源程序可以编译或解释以供执行。反编译器有助于将目标程序转换回其原始源程序。需要注意的是,术语源程序和目标程序是作为相关术语使用的。如果你使用一个程序转换程序(比如编译器),输入的是源程序,输出的是目标程序。因此,一个工具生成的目标程序可以成为另一个工具的源文件。
目录
1. 概述和主要区别
2.什么是源程序
3. 什么是目标程序
4. 并列比较-源程序与目标程序的表格形式
5. 摘要
什么是源程序(source program)?
程序员用高级语言编写源程序。因此,它很容易被人类阅读。源程序通常包含有意义的变量名和有用的注释,以使其更具可读性。机器不能直接执行源程序。编译器有助于将源程序转换为机器执行的可执行代码。或者,是使用翻译。它不需要预先编译就可以逐行执行源程序。
visualbasic是编译语言的一个例子,而Java是解释语言的一个例子。Visual Basic源文件(.vb文件)被编译为.exe代码,而Java源文件(.Java文件)首先被编译(使用javac命令)为字节码(一种包含在.class文件中的目标代码),然后使用Java解释器(使用Java命令)进行解释。当软件应用程序被分发时,它们通常不包括源文件。但是,如果应用程序是开源的,那么源代码也是分布式的,用户也可以查看和修改源代码。
什么是目标程序(object program)?
目标程序通常是一个机器可执行文件,它是使用编译器编译源文件的结果。除了机器指令,它们还可能包括调试信息、符号、堆栈信息、重定位和配置信息。因为它们包含机器代码中的指令,所以人类不容易阅读它们。但有时,目标程序指的是源文件和可执行文件之间的中间对象。
被称为链接器的工具有助于将一组对象链接到可执行文件(例如C语言)。如前所述。exe文件和字节码文件分别是使用Visual Basic和Java时生成的对象文件。exe文件直接在windows平台上执行,字节码文件需要解释器才能执行。
大多数软件应用程序只与对象或可执行文件一起分发。可以通过反编译将对象或可执行文件转换回其原始源文件。例如反编译工具可以java.class文件(字节码)到其原始的.java文件中。
源程序(source program)和目标程序(object program)的区别
源程序是由程序员编写的可读程序。它是用Java或C等高级语言编写的,因此,源程序是人类可读的。机器无法理解。
另一方面,目标程序是编译源程序后创建的机器可执行程序。它包含低级语言,如汇编或机器代码。因此,目标程序是不可读的。机器可以理解。
总结 - 源程序(source program) vs. 目标程序(object program)
源程序和目标程序的区别在于,源程序是程序员编写的可读程序,而目标程序是通过编译源程序创建的机器可执行程序。
引用
1.“源代码”,维基百科,维基媒体基金会,2018年5月17日。此处提供
2.“目标代码”,维基百科,维基媒体基金会,2018年5月14日。此处提供