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)

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