【问题标题】:What does "bytes to encode the instructions" mean?“对指令进行编码的字节”是什么意思?
【发布时间】:2021-04-03 00:04:45
【问题描述】:

我正在阅读“计算机系统:程序员的视角”。 主题:C 中的编译阶段 预处理阶段、编译阶段、组装阶段和链接器阶段。 在汇编阶段,这一行“此文件(目标文件)是一个二进制文件,包含 17 个字节,用于对 main 函数的指令进行编码。” 我无法理解“对指令进行编码的 17 个字节是什么意思”。

【问题讨论】:

  • 表示高级指令通过编译器/汇编器在目标文件中转换为二进制文件需要 17 个字节
  • Function main() 不仅仅是一个指令,这句话几乎肯定意味着 instructions,复数。
  • 甚至机器代码也存储了离子零和一(位和字节)......所以它需要空间。
  • 语言分析,把那句话分成更小的部分: 这个文件(目标文件)是一个二进制文件。该文件包含 17 个字节。这 17 个字节对某些指令进行编码。这些指令来自main 函数。(这适合更大的上下文吗?)

标签: c++ c compilation encode


【解决方案1】:

无需输入太多细节,编译结果存储在目标文件中。然后,在编译该函数main 之后,结果是存储在目标文件中的 17 个字节。它说“编码”是因为编译器正在从 C++ 语言“翻译”到另一种语言,这通常是机器代码。根据您要编译的编译器和目标机器/环境,这 17 个字节可能会有所不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多