源程序(source program)和目标程序(object program)的区别

源程序与目标程序的主要区别在于源程序是程序员编写的可读程序,而目标程序是通过编译源程序创建的机器可执行程序。...

源程序与目标程序的主要区别在于源程序是程序员编写的可读程序,而目标程序是通过编译源程序创建的机器可执行程序。

源程序可以编译或解释以供执行。反编译器有助于将目标程序转换回其原始源程序。需要注意的是,术语源程序和目标程序是作为相关术语使用的。如果你使用一个程序转换程序(比如编译器),输入的是源程序,输出的是目标程序。因此,一个工具生成的目标程序可以成为另一个工具的源文件。

目录

1. 概述和主要区别
2.什么是源程序
3. 什么是目标程序
4. 并列比较-源程序与目标程序的表格形式
5. 摘要

什么是源程序(source program)?

程序员用高级语言编写源程序。因此,它很容易被人类阅读。源程序通常包含有意义的变量名和有用的注释,以使其更具可读性。机器不能直接执行源程序。编译器有助于将源程序转换为机器执行的可执行代码。或者,是使用翻译。它不需要预先编译就可以逐行执行源程序。

源程序(source program)和目标程序(object program)的区别

图01:源程序

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)和目标程序(object program)的区别

总结 - 源程序(source program) vs. 目标程序(object program)

源程序和目标程序的区别在于,源程序是程序员编写的可读程序,而目标程序是通过编译源程序创建的机器可执行程序。

引用

1.“源代码”,维基百科,维基媒体基金会,2018年5月17日。此处提供

2.“目标代码”,维基百科,维基媒体基金会,2018年5月14日。此处提供

  • 发表于 2020-10-26 14:27
  • 阅读 ( 193 )
  • 分类:IT

你可能感兴趣的文章

声明的(declarative)和命令式程序设计(imperative programming)的区别

...式编程与命令式编程 5. 摘要 什么是声明式编程(declarative programming)? 声明式编程可以用一个真实的场景来解释。假设用户需要检查新邮件。一种方法是启用收件箱通知。用户只需启用一次通知,每次新邮件到达时,他都会自动...

  • 发布于 2020-10-16 09:49
  • 阅读 ( 551 )

函数式程序设计(functional programming)和命令式程序设计(imperative programming)的区别

...式的命令式编程 6.摘要 什么是函数式程序设计(functional programming)? 函数式程序设计是以数学为基础的。函数式编程背后的关键原则是,所有的计算都被看作是独立数学函数的组合。数学函数将输入映射到输出。假设有一个函数...

  • 发布于 2020-10-19 02:12
  • 阅读 ( 479 )

源代码(source code)和目标代码(object code)的区别

主要区别——源代码与目标代码 软件是程序的集合。程序是给计算机执行特定任务的一组指令。它们的指令是由程序员用编程语言编写的。因此,开发一个软件意味着开发一套程序。编写程序的活动称为编程。开发完整软件...

  • 发布于 2020-10-19 18:56
  • 阅读 ( 754 )

程序(program)和程序(programme)的区别

...要的是要知道,区别只发生在使用这两个词的地区。单词program是美国使用英国单词program的方式。这就是程序和程序这两个词的区别。你见过当你使用软件时,程序这个词是如何变成下划线的吗?这仅仅是因为在当今的计算世界...

  • 发布于 2020-10-25 17:37
  • 阅读 ( 151 )

源程序(source program)和目标程序(object program)的区别

源程序与目标程序的主要区别在于源程序是程序员编写的可读程序,而目标程序是通过编译源程序创建的机器可执行程序。 源程序可以编译或解释以供执行。反编译器有助于将目标程序转换回其原始源程序。需要注意的是,...

  • 发布于 2020-10-26 14:27
  • 阅读 ( 193 )

windows中的“program files(x86)”和“program files”文件夹有什么区别?

很有可能您的Windows PC上同时有“C:\Program Files”和“C:\Program Files(x86)”文件夹。如果您浏览一下,您会发现有些程序安装在一个文件夹中,有些安装在另一个文件夹中。 32位与64位windows 相关报道:32位和64位Windows有什么区别...

  • 发布于 2021-04-07 06:03
  • 阅读 ( 206 )

如何重新打开windows防火墙提示?

...s想知道如何重新打开Windows防火墙批准/拒绝通知: I ran a program that caused a Windows Firewall notification to pop up, but I did not stop to think and quickly clicked “Cancel”. Now my program crashes due to network errors. How can I reopen or access the notification message so...

  • 发布于 2021-04-08 14:39
  • 阅读 ( 191 )

哦(oop)和流行音乐(pop)的区别

...这样两种范式。 什么是面向对象程序设计(object oriented programming (oop))? OOP是一种高级编程语言,其中使用面向对象模型将程序划分为称为对象的小块,因此得名。这个范例是基于对象和类的。 Object–对象基本上是一个自包含...

  • 发布于 2021-06-25 02:06
  • 阅读 ( 259 )

对象文件(object file)和可执行文件(executable file)的区别

目标文件和可执行文件的主要区别在于,目标文件是编译源代码后生成的文件,而可执行文件是使用链接器将一组目标文件链接在一起后生成的文件。 C是一种通用的高级编程语言。此外,它是一种结构化编程语言,有助于编写...

  • 发布于 2021-07-01 03:58
  • 阅读 ( 878 )

C++(c++)和JAVA(java)的区别

...). So, Java is platform independent. Moreover, Java supports object orient programming. Therefore, it is easier to model real-world scenarios in computing. Java提供了一个垃圾收集器。它会自动销毁未使用的对象,以提高内存管理效率。通常,运行垃圾收集器是一...

  • 发布于 2021-07-01 07:51
  • 阅读 ( 335 )
cz747831
cz747831

0 篇文章

相关推荐