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

源代码由程序员使用文本编辑器或可视化编程工具创建的编程语句组成,然后保存在文件中。例如,使用C语言的程序员使用文本编辑器在所需的C语言语句序列中键入,然后将它们保存为命名文件。据说这个文件包含源代码。它现在可以用C编译器编译,结果输出,即编译文件,通常被称为目标代码。...

介绍

源代码由程序员使用文本编辑器或可视化编程工具创建的编程语句组成,然后保存在文件中。例如,使用C语言的程序员使用文本编辑器在所需的C语言语句序列中键入,然后将它们保存为命名文件。据说这个文件包含源代码。它现在可以用C编译器编译,结果输出,即编译文件,通常被称为目标代码。

目标代码文件包含处理器可以理解的指令序列,但人类难以读取或修改。由于这个原因,并且因为即使是调试过的程序也经常需要一些后期增强,所以源代码是程序的最永久形式。

什么是源代码(source code)?

源代码是用特定编程语言编写的可读文本。源代码的目标是为计算机设置精确的规则和规范,这些规则和规范可以翻译成机器语言。因此,源代码是程序和网站的基础。

换句话说,源代码是由程序员创建的计算机程序的基本组成部分。它可以被人阅读和理解。

例如,当程序员在Windows记事本中键入一系列C编程语言语句,并将其保存为文本文件时,该文本文件被称为包含源代码。

您需要了解的源代码

  • 源代码是使用人类可读编程语言编写的计算机指令的集合。
  • 它是一种高级代码类型。
  • 源代码可由人或程序员读取。
  • 除非翻译,否则机器无法直接理解源代码。
  • 源代码的性能远远低于目标代码,因为它与机器的距离不是很近。
  • 它不是系统特定类型的代码。
  • 源代码很容易修改。
  • 源代码充当汇编器、编译器或任何其他类型翻译器的输入。
  • 源代码以纯文本形式存在。这是因为我们使用高级编程语言编写它。
  • 任何人都可以理解源代码。
  • 它是用高级语言编写的,如C、C++、Java、Python等或汇编语言。
  • 它包含的语句数量少于目标代码。
  • 随着时间的推移,您可以轻松地更改源代码。

什么是目标代码(object code)?

目标代码是计算机在最低硬件级别上理解的一组指令代码。目标代码通常由编译器生成,该编译器读取一些更高级的计算机语言源指令,并将它们转换为等效的机器语言指令。

换句话说,当解释器或编译器将源代码翻译成可识别和可执行的机器代码时,就会产生目标代码。

对象文件包含对象代码。一些对象文件示例包括通用对象文件格式(COFF)、COM文件和“.exe”文件。它是编译器或其他翻译器的输出。我们可以理解源代码,但我们不能理解目标代码,因为它不像源代码那样是纯文本,而是二进制格式。

关于目标代码,您需要了解什么

  • 目标代码是机器或二进制的语句序列,是编译器之后的输出。
  • 它是一种低级代码类型。
  • 目标代码可由计算机读取。
  • 任何机器都可以直接理解并执行目标代码。
  • 目标代码的性能比源代码更好,因为它与机器相对非常接近。
  • 它是一种系统特定类型的代码,因为它很容易在机器上运行。
  • 无法修改对象代码。
  • 目标代码充当汇编程序、编译器或任何其他类型转换器的输出。
  • 目标代码以二进制格式存在。这是因为它是源代码的翻译形式。
  • 机器可以理解目标代码,而不是人类。
  • 它是通过编译器、汇编程序或其他翻译器用机器语言编写的。
  • 它包含比源代码更多的语句。
  • 您需要编译源代码,或者在进行必要的更改后使用任何其他翻译器进行翻译,以便它反映在最近的对象(修改的代码)中。

编译器和解释器

为了使计算机能够进一步处理程序员编写的源代码,需要在两者之间进行翻译——这以附加程序的形式发生。该辅助应用程序可以采用编译器或解释器的形式:

  • 编译器:这种应用程序类型将源代码翻译(编译)成流程可以理解和执行的代码。该机器代码以可执行文件的形式保存。
  • 解释器:解释器逐行翻译源代码并直接执行。翻译过程比编译器快得多,但执行速度较慢,需要大量内存。

Also Read: Difference Between Procedural And Object Oriented Programming

Difference Between Source Code And Object Code In Tabular Form

比较基础源代码目标代码
描述源代码是使用人类可读编程语言编写的计算机指令的集合。 目标代码是机器或二进制的语句序列,是编译器之后的输出。
代码类型它是一种高级代码类型。 它是一种低级代码类型。
可读性源代码可由人或程序员读取。 目标代码可由计算机读取。
机器除非翻译,否则机器无法直接理解源代码。 任何机器都可以直接理解并执行目标代码。
表演源代码的性能远远低于目标代码,因为它与机器的距离不是很近。 目标代码的性能比源代码更好,因为它与机器相对非常接近。
自然界它不是系统特定类型的代码。 它是一种系统特定类型的代码,因为它很容易在机器上运行。
修改源代码很容易修改。 无法修改对象代码。
角色源代码充当汇编器、编译器或任何其他类型翻译器的输入。 目标代码充当汇编程序、编译器或任何其他类型转换器的输出。
存在源代码以纯文本形式存在。目标代码以二进制格式存在。
可理解性任何人都可以理解源代码。 机器可以理解目标代码,而不是人类。
代码特性它是用高级语言编写的,如C、C++、Java、Python等或汇编语言。 它是通过编译器、汇编程序或其他翻译器用机器语言编写的。
发言数它包含的语句数量少于目标代码。 它包含比源代码更多的语句。
变更随着时间的推移,您可以轻松地更改源代码。 您需要编译源代码,或者在进行必要的更改后使用任何其他翻译器进行翻译,以便它反映在最近的对象(修改的代码)中。

结论

源代码是程序员在开发程序时经常在文字处理程序中编写的人类可读指令列表。源代码通过编译器运行,将其转换为计算机可以理解和执行的机器代码,也称为目标代码。目标代码主要由1和0组成,因此不可读。

源代码和目标代码有时被称为已编译计算机程序的“前”和“后”版本。对于脚本(无编译或解释)程序语言,如JavaScript,源代码和目标代码不适用,因为只有一种形式的代码。

  • 发表于 2022-09-09 08:46
  • 阅读 ( 52 )
  • 分类:IT

你可能感兴趣的文章

银行代码(swift code)和分类代码(sort code)的区别

swift代码与分拣代码 鉴于账户间转账是当今世界各国普遍采用的一种行为,了解SWIFT码与分类码的区别是非常有益的。SWIFT代码和分类代码是与银行业务相关的两个术语,尤其是在转账时。SWIFT代码和分类代码是两种用于转账...

  • 发布于 2020-10-07 08:57
  • 阅读 ( 1458 )

源代码(source code)和字节码(bytecode)的区别

主要区别-源代码与字节码 计算机是一种能根据用户提供的指令执行任务的机器。计算机程序可以向计算机发出指令。它是用一套特定的编程语言编写的。编程语言有很多种。大多数编程语言都是高级编程语言。用高级语言编...

  • 发布于 2020-10-19 15:49
  • 阅读 ( 632 )

取决于机器(machine dependent)和机器无关代码优化(machine independent code optimization)的区别

...依赖机器的代码优化(machine dependent code optimization)? 在将源代码转换为目标代码或目标代码时,编译器要经历几个阶段。首先,源代码提供给词法分析器,后者生成标记。然后,输出给语法分析器,语法分析器检查生成的标记是...

  • 发布于 2020-10-20 02:55
  • 阅读 ( 367 )

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

...通常不包括源文件。但是,如果应用程序是开源的,那么源代码也是分布式的,用户也可以查看和修改源代码。 什么是目标程序(object program)? 目标程序通常是一个机器可执行文件,它是使用编译器编译源文件的结果。除了机器...

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

如何从linux终端压缩或解压文件

...。 创建名为source的文件_代码.zip包含当前目录中的所有C源代码文件和头文件,可以使用以下命令: zip source_code *.c *.h 每个文件在添加时都会列出。将显示文件名以及在该文件上实现的压缩量。 如果您查看新的ZIP存档文件,您...

  • 发布于 2021-04-03 14:07
  • 阅读 ( 167 )

银行代码(swift code)和排序代码(sort code)的区别

Swift代码与分拣代码 Swift和Sort代码是识别某个银行的两种方法。这些主要用于电汇,以确定来源和目的地。swift和sort代码的主要区别在于它们的使用位置。分类代码仅由英格兰和爱尔兰用于识别该国境内的银行及其各自的分行...

  • 发布于 2021-06-23 19:49
  • 阅读 ( 485 )

代码(code)和标准(standard)的区别

主要差异代码(main difference code) vs. 标准(standard) 标准和规范是技术领域的重要术语。它们是指规定或澄清技术程序及其要求的定义和指南。规范和标准之间的主要区别在于,标准是一组技术定义、规范和指南,而规范是...

  • 发布于 2021-06-27 21:58
  • 阅读 ( 276 )

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

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

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

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

...应用。 C++是一种基于编译器的语言。编译器一次将整个源代码转换成机器代码。因此,C++程序执行得更快。CPU可以直接执行转换后的机器代码。机器代码取决于操作系统。因此,C++是依赖于平台的。此外,标准模板库(STL)是C+...

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

巴皮(bapi)和巴迪(badi)的区别

...来,而BADI允许添加增强功能以改进功能,而不影响初始源代码。 SAP是一种企业资源规划软件,支持组织的日常业务功能。BAPI和BADI与SAP有关。BAPI允许在SAP和SAP或非SAP系统之间建立连接。另一方面,BADI允许开发人员根据需要改进...

  • 发布于 2021-07-01 12:44
  • 阅读 ( 274 )
g06o6g
g06o6g

0 篇文章

相关推荐