源代碼 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)

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM