源代码和目标代码的区别
源代码
源代码是指由人类/程序员生成的高级代码或汇编代码。源代码易于阅读和修改。它是由程序员使用任何人类可读的高级语言或中级语言编写的。源代码包含程序员为更好地理解而写的注释。
源代码被提供给语言翻译器,翻译器将其转换为机器可理解的代码,这被称为机器代码或目标代码。计算机无法理解直接的源代码,计算机可以理解机器代码并执行它。它被认为是计算机的基本组成部分。简单来说,我们可以说源代码是一组指令/命令和语句,是由程序员使用计算机编程语言如C、C++、Java、Python、汇编语言等编写的。所以用任何编程语言编写的语句都被称为源代码。
对象代码
对象代码是指可以被机器理解的低级代码。对象代码是在通过编译器或其他翻译器后从源代码生成的。它是可执行的机器码格式。对象代码包含一串机器可理解的指令,中央处理单元可以理解并执行。对象文件包含对象代码。它被认为是机器代码的一个补充。一些对象文件的例子是通用对象文件格式(COFF)、COM文件和”.exe “文件。它是一个编译器或其他翻译器的输出。我们可以理解源代码,但我们不能理解目标代码,因为它不像源代码那样是纯文本的,而是二进制格式的。
源代码和目标代码的区别 –
序号 | 源代码 | 对象代码 |
---|---|---|
1 | 源代码是由人类或程序员生成的。 | 对象代码由编译器或其他翻译器生成。 |
2 | 源代码是高级代码。 | 对象代码是低级别的代码。 |
3 | 源代码是用一些高级编程语言写成的纯文本。 | 对象代码是源代码的翻译代码。它是二进制格式的。 |
4 | 源代码是人类可以理解的。 | 对象代码不是人类可以理解的。 |
5 | 源代码不能被机器直接理解。 | 对象代码可以被机器理解和执行。 |
6 | 源代码是用高级语言如C, C++, Java, Python等,或汇编语言编写的。 | 对象代码是通过编译器或汇编器或其他翻译器写成机器语言的。 |
7 | 源代码可以很容易地被修改。 | 对象代码不能被修改。 |
8 | 源代码包含注释,以便程序员更好地理解。 | 对象代码不包含供机器理解的注释。 |
9 | 源代码包含的语句数量比目标代码少。 | 对象代码包含的语句数量比源代码多。 |
10 | 源代码不太接近机器。 | 对象代码更接近于机器。 |
11 | 源代码的性能比目标代码低,因为它不太接近机器。 | 目标代码的性能高于源代码,因为它更接近于机器。 |
12 | 源代码是对编译器或其他翻译器的输入。 | 目标代码是编译器或任何其他翻译器的输出。 |
13 | 源代码不是针对系统的。 | 对象代码是系统特定的。 |
14 | 源代码可以随着时间的推移而改变。 | 源代码需要由任何其他翻译者进行编译或翻译,以获得修改后的目标代码。 |
15 | 像编译器、汇编器、解释器这样的语言翻译器被用来把源代码翻译成目标代码。 | 目标代码是机器代码,所以它不需要任何翻译。 |
16 | 源代码的行数给了用户可读性和可理解性。在大多数情况下,使用较少的代码行可以得到相同的结果,从而获得更好的性能。 | 目标代码则不是这样的。 |