编译后的软件是否包含二进制 0 和 1?

Tor*_*ido 1 compile code

我知道在编译一个软件或应用程序之后,它的代码被转换成机器语言。

编译后的软件是否包含二进制 0 和 1?

编译软件后会发生什么?代码是否转换为二进制 0 和 1?它的源代码究竟发生了什么?这么庞大的0和1是怎么存到电脑里的?

Ran*_*son 7

是的。计算机上的每条信息都由位组成(在 PC 上,通常每字节 8 位,有些系统将字节定义为具有不同位数)。尽管从技术上讲,源代码是以二进制形式存储的,但可以使用多种方法和方法将其识别为“文本”。

二进制是用于描述数据(1 和 0)的 base-2 表示的符号。本文档非常详细地解释了这个符号,您可能会感兴趣:

  二进制代码
  http://en.wikipedia.org/wiki/Binary_code

编译后,生成的二进制数据通常表示处理器理解的指令序列(也就是字节码序列),并据此采取行动。有大量指令可以执行数学运算、修改内存内容、与外围设备通信以及处理许多其他事情。

C、Pascal、Perl 等高级语言可以编译成二进制代码,然后直接由 CPU 运行,这种二进制代码最常被称为“机器语言”。

汇编源代码(不被认为是“高级语言”)是最接近机器语言的源代码形式,但也需要编译成二进制代码供CPU正确处理。

当解释代码运行时(例如使用脚本),它会在遇到每一行或每一节时由解释器即时编译,因此运行速度往往比二进制代码慢得多。BASIC(例如 1980 年代和 1990 年代早期 DOS 时代的 GW-BASIC),虽然不被称为脚本语言,但也被解释(包括循环——没有缓存,每一行都被不断地重新解释)。