欢迎来到李先生的博客

深山的鹿,不知归处;万般皆苦,只可自渡。
扩大
缩小

源代码 VS 汇编代码 VS 目标代码 VS 字节码 VS 机器码

 

 

1、源代码(source code)

 

源代码就是平时我们开发的代码;比如C、Java、Python、Shell...等

public class HelloWorld {
    public static void main(String []args) {
       System.out.println("Hello World");
    }
}

 

 

2、汇编代码(Assembly code)

 

汇编语言也是人看的懂的语言,也是源码

#hello.s 
.data                    # 数据段声明
        msg : .string "Hello, world!\\n" # 要输出的字符串
        len = . - msg                   # 字串长度
.text                    # 代码段声明
.global _start           # 指定入口函数

_start:                  # 在屏幕上显示一个字符串
        movl $len, %edx  # 参数三:字符串长度
        movl $msg, %ecx  # 参数二:要显示的字符串
        movl $1, %ebx    # 参数一:文件描述符(stdout) 
        movl $4, %eax    # 系统调用号(sys_write) 
        int  $0x80       # 调用内核功能

                         # 退出程序
        movl $0,%ebx     # 参数一:退出代码
        movl $1,%eax     # 系统调用号(sys_exit) 
        int  $0x80       # 调用内核功能

 

 

3、目标代码(object code)

目标代码是由编译器或其他转换器生成的代码,包括机器码、字节码等

 

4、字节码(Bytecode)

字节码是由编译器生成的中间语言,生成中间语言后由运行时环境解释或即时编译。它通常不是人类可读的语言,也不代表在任何现有CPU硬件上直接执行的实际机器语言。
 

 

 

       

5、可执行文件(Excuteable file)

链接过程的产物。它们是可以由CPU直接执行的机器码。

 

6、库文件(Library file)

可能很多地方要用到这个,生成库文件,方便多个地方使用。

 

posted on 2020-10-20 15:42  Captain_Li  阅读(1517)  评论(0编辑  收藏  举报

导航