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

目标文件和可执行文件的主要区别在于,目标文件是编译源代码后生成的文件,而可执行文件是使用链接器将一组目标文件链接在一起后生成的文件。...

目标文件和可执行文件的主要区别在于,目标文件是编译源代码后生成的文件,而可执行文件是使用链接器将一组目标文件链接在一起后生成的文件。

C是一种通用的高级编程语言。此外,它是一种结构化编程语言,有助于编写高效的程序。操作系统、语言编译器、文本编辑器、网络驱动程序、数据库都是C语言的一些应用。对象文件和可执行文件是与C编程相关的两个文件。

覆盖的关键领域

1.什么是目标文件-定义,功能2.什么是可执行文件-定义,功能3.目标文件和可执行文件之间的关系是什么-关联概要4.目标文件和可执行文件之间的区别是什么-关键区别的比较

关键术语

C语言,可执行文件,对象文件

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

什么是对象文件(object file)?

首先,C程序是用C语言编写的一组执行特定任务的指令。这个程序叫做源代码。程序员可以阅读和理解源代码,但CPU不理解。因此,有必要将源代码转换成机器可理解的格式。编译源代码后生成目标代码。

Difference Between Object File and Executable File

Figure 1: Source Code

对象文件是对象代码的另一个名称。在Windows环境中,对象文件的扩展名为.obj。此外,对象文件具有。o Linux环境下的文件扩展名。但是,CPU不能直接执行对象文件。

什么是可执行文件(executable file)?

在编写C程序之后,如果有语法错误,程序员应该对其进行编辑。但是,如果没有语法错误,编译器会将源代码转换为目标文件。然后链接器执行链接过程。它接受编译器生成的一个或多个对象文件,并将它们组合成一个可执行文件。此外,它还链接程序所需的其他程序文件和函数。例如,如果程序具有“exp()”函数,则链接器将程序链接到系统的数学库。

Main Difference - Object File vs Executable File

Figure 2: Creating an Executable File

程序员不理解可执行文件中的指令,但CPU可以读取和理解这些指令。因此,CPU直接执行可执行文件来执行程序中定义的任务。

对象文件与可执行文件的关系

  • 对象文件组合在一起创建一个可执行文件。

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

定义

目标文件是包含目标代码的文件,该目标代码具有不可直接执行的可重定位格式机器代码。可执行文件是能够由计算机直接执行并且能够根据编码指令执行所指示的任务的文件。因此,这解释了对象文件和可执行文件之间的主要区别。

类型

对象文件和可执行文件之间的另一个区别是,对象文件是中间文件,而可执行文件是最终文件。

功能

此外,编译器将源代码转换为目标文件。但是,链接器将对象文件与系统库链接,并将对象文件组合在一起以创建可执行文件。

cpu直接执行

另外,CPU不能直接执行对象文件,而CPU可以直接执行可执行文件。因此,这是对象文件和可执行文件之间的主要区别。

结论

综上所述,对象文件和可执行文件是与C编程相关的两个文件。目标文件和可执行文件之间的主要区别在于,目标文件是编译源代码后生成的文件,而可执行文件是使用链接器将一组目标文件链接在一起后生成的文件。

引用

1“林克尔(计算)”,维基百科,维基媒体基金会,6月2018日,可在这里。

  • 发表于 2021-07-01 03:58
  • 阅读 ( 878 )
  • 分类:IT

你可能感兴趣的文章

c(c)和目标c(objective c)的区别

...序可以作为目标C进行编译和运行。目标C由基本C以及面向对象的概念、消息传递、协议等组成。C与目标C的主要区别在于C是结构化编程语言,而目标C是多范式编程语言,它是C的超集主要支持反射式和面向对象的编程范例。 目录...

  • 发布于 2020-10-16 06:52
  • 阅读 ( 259 )

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

...但有时,目标程序指的是源文件和可执行文件之间的中间对象。 被称为链接器的工具有助于将一组对象链接到可执行文件(例如C语言)。如前所述。exe文件和字节码文件分别是使用Visual Basic和Java时生成的对象文件。exe文件直接...

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

可提高windows管理技能的powershell cmdlet

... (下一节将提供有关“选择对象”和“排序对象”的详细信息。) ...

  • 发布于 2021-03-13 13:26
  • 阅读 ( 294 )

关于linux中bash for loops的所有知识

... bash脚本只是一个纯文本文件,其中包含bashshell可以读取和执行的一系列命令。Bash是catalinamacos之前版本和大多数Linux发行版中的默认shell。 ...

  • 发布于 2021-03-29 06:22
  • 阅读 ( 312 )

如何从linux命令行查看二进制文件

...制可执行文件。它们是程序。名为“wd.o”的文件是一个对象文件。当编译器编译源代码时,会创建一个或多个目标文件。这些包含计算机在完成的程序运行时最终将执行的机器代码,以及链接器的信息。链接器检查每个对象文...

  • 发布于 2021-04-02 04:41
  • 阅读 ( 355 )

windows中的“system32”和“syswow64”文件夹有什么区别?

在64位版本的Windows上,有两个单独的程序文件文件夹。但这还没有结束。您还有两个单独的系统目录,用于存储DLL库和可执行文件:System32和SysWOW64。尽管有这些名称,System32还是充满了64位文件,SysWOW64则充满了32位文件。那是...

  • 发布于 2021-04-06 18:13
  • 阅读 ( 334 )

如何在linux上安全地运行不受信任的可执行文件?

在当今时代,对不可信的可执行文件保持警惕并不是一个坏主意,但是如果您真的需要在Linux系统上运行一个文件,有没有安全的方法呢?今天的超级用户问答帖子有一些有用的建议,以回应一位忧心忡忡的读者的提问。 今天...

  • 发布于 2021-04-08 13:43
  • 阅读 ( 160 )

如何理解那些令人困惑的Windows7文件/共享权限

...制列表)中。在场景后面,SID的存储方式与所有其他数据对象的存储方式相同,都是二进制的。但是,当您在Windows中看到SID时,它将使用更可读的语法显示。在Windows中,您并不经常看到任何形式的SID,最常见的情况是,当您授...

  • 发布于 2021-04-10 01:21
  • 阅读 ( 207 )

如何配置windows以更轻松地使用powershell脚本

... -ErrorAction SilentlyContinue 不要运行以上命令! 它只需遍历文件系统并尽可能删除任何内容。有趣的是,这可能不会像您想象的那么快地导致系统无法运行—即使是从提升的会话运行时也是如此。但是,如果有人在运行这个脚本后...

  • 发布于 2021-04-11 03:20
  • 阅读 ( 231 )

独立的可执行文件和已安装的可执行文件有什么区别?

...虽然我们大多数人都满足于为自己喜欢的软件安装可执行文件的“久经考验的”过程,但真的有必要这样做吗?我们真的可以提取那些相同的可执行文件而不是安装它们,并像它们的独立同类一样运行它们吗? 今天的问答环节...

  • 发布于 2021-04-11 13:14
  • 阅读 ( 201 )
A7879061
A7879061

0 篇文章

相关推荐