gpt4 book ai didi

language-agnostic - 在可执行程序的上下文中, "binaries"和 "executables"之间的区别在哪里?

转载 作者:行者123 更新时间:2023-12-04 22:17:54 24 4
gpt4 key购买 nike

我经常看到术语“二进制”和“可执行文件”似乎可以互换用于同一事物。

不是用两个术语来描述完全相同的事物吗?编译后的可执行输出程序,我可以在终端上运行吗?

什么加强了我的假设,即这两件事应该是相同的,提供一个 bin 是一种常见的做法。应用程序安装文件夹内的文件夹(“bin”为“binaries”的缩写),用于存储用户可以运行的可执行文件。

我已阅读What's the difference between binary and executable files mentioned in ndisasm's manual?的问答但问题和他们的答案更侧重于 Clang 和 ndasm 各自的环境。

我也阅读了 https://softwareengineering.stackexchange.com/questions/121224/what-are-binaries 的问题和答案在软件工程论坛上,但这里也没有可执行文件和二进制文件之间的区别;只有一般的“二进制”一词可以指代:

But, in Computing, Binary refers to :

  • Binary file, composed of something other than human-readable text
  • Executable, a type of binary file that contains machine code for the computer to execute
  • Binary code, the digital representation of text and data

[Source: https://softwareengineering.stackexchange.com/a/121235/349225]



其中,在编译过程的输出程序的上下文中,二进制文件与可执行文件相同,以及:

The word binaries is used as a set of files which are produced after compiling essentially the object code that runs on machines. (and virtual machines/runtimes in case of Java/.NET)

[Source: https://softwareengineering.stackexchange.com/a/121234/349225 ]



在那里它被称为相同。

  • 在可执行程序的上下文中,“二进制文件”和“可执行文件”有什么区别?
  • 区别在哪里?
  • 最佳答案

    可执行文件是可以执行的;您可以通过将文件本身的名称写入命令来在命令行上运行它。在 Unix 系统上,还必须设置文件的“可执行”标志。在 Windows 上,文件的扩展名必须是一组固定的可执行文件扩展名之一,包括 .exe .

    binary file只是一种二进制(即非文本)格式。二进制格式意味着文件的内容不应因平台特定原因而被转换(例如,将换行符从 \n 替换为 \r\n )。

    二进制文件不一定是可执行的,例如编译为 .dll 的库。或 .so form 是二进制文件,但不是可执行文件。编译为 .class 的 Java 程序或 .jar form 不是可执行文件,但可以使用命令 java -jar program.jar 运行而不是命令 ./program.jar .

    可执行文件不一定是二进制文件,例如文本形式的 Python 脚本可以通过编写 shebang line 在 Unix 系统上执行。 #!/usr/bin/python3并设置文件的可执行标志。

    关于language-agnostic - 在可执行程序的上下文中, "binaries"和 "executables"之间的区别在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59826292/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com