1. 程式人生 > >原始碼 VS 彙編程式碼 VS 目的碼 VS 位元組碼 VS 機器碼

原始碼 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)

可能很多地方要用到這個,生成庫檔案,方便多個地方使用。

&nbs