可執行代碼(Executable Code)目標代碼(object code)


小結:

1、可執行代碼(Executable Code)是指將目標代碼(object code)連接后形成的代碼,簡單來說是機器能夠直接執行的代碼。

 

 

 https://baike.baidu.com/item/可執行代碼

 

目標代碼(object code)指計算機科學中編譯器或匯編器處理源代碼后所生成的代碼,它一般由機器代碼或接近於機器語言的代碼組成。  [1]  在計算機科學中,可執行代碼(Executable Code)是指將目標代碼連接后形成的代碼,簡單來說是機器能夠直接執行的代碼。可執行代碼一般是可執行文件的一部分。
 
中文名
可執行代碼
外文名
Executable Code
學    科
計算機科學
定    義
目標代碼連接后形成的代碼
有關術語
可執行文件
應    用
軟件程序、內存泄露檢查

簡介

 

可執行代碼(Executable Code)是指將目標代碼連接后形成的代碼,簡單來說是機器能夠直接執行的代碼,可執行代碼當然也是二進制的。 源代碼(也稱源程序)是指未編譯的按照一定的程序設計語言規范書寫的文本文件,是一系列人類可讀的計算機語言指令。  [2]  在計算機程序設計中,一般建議將源代碼與可執行代碼分離存儲。問題在於不同平台下編譯出來的可執行代碼是不同的,例如一個程序復制到不同的電腦上,即便代碼不做任何修改,VI也會被修改,因為VI中包含的可執行代碼變了。理論上,可執行代碼與源代碼分離開來,可以提高程序的加載速度:程序可以各取所需,只加載源代碼或只加載可執行代碼。

可執行文件與可執行程序


可執行文件 (executable file) 指的是可以由操作系統進行加載執行的文件。在不同的操作系統環境下,可執行程序的呈現方式不一樣。通常可執行文件內,含有以二進制編碼的微處理器指令,也因此可執行文件有時稱為二進制檔。這些二進制微處理器指令的編碼,於各種微處理器有所不同,故此可執行文件多數要分開不同的微處理版本。一個電腦文件是否為可執行文件,主要由操作系統的傳統決定。例如根據特定的命名方法(如擴展名為exe)或文件的元數據信息(例如UNIX系統設置“可運行”權限)。在現代的各種電腦架構,可執行文件除了有程序的信息之外,還有其他信息,例如讓程序運行的操作系統設置值數據、調試數據等等。
可執行程序(executable program,EXE File)是指一種可在操作系統存儲空間中浮動定位的可執行程序。在MS-DOS和MS-WINDOWS下,此類文件擴展名為·exe。
WINDOWS操作系統中的二進制可執行文件,分兩種:
一種后輟名為·com,另一種是·exe 。
DOS規定,有重名的exe和com,運行時優先執行com文件。如果只有A.exe,就可以直接輸入A,而不用輸入全名。但如果有A.com和A.exe,輸入A則優先執行A.com,要運行A.exe只能輸入A.exe而不能輸入A。一般用於DOS,在WINDOWS系統中的執行文件一般都是.exe文件。在 MS-DOS 中,用以標識可執行文件的文件擴展名。用戶在提示行輸入不帶 .exe 擴展名的文件名后按 Enter 鍵或者點雙擊就能運行可執行程序。

ECMA的可執行代碼類型


一共有三種 ECMA 腳本可執行代碼:
全局代碼是指被作為 ECMAScript Program 處理的源代碼文本。一個特定 Program 的全局代碼不包括作為 FunctionBody 被解析的源代碼文本。
Eval 代碼是指提供給 eval 內置函數的源代碼文本。更精確地說,如果傳遞給 eval 內置函數的參數為一個字符串,該字符串將被作為 ECMA 腳本 Program 進行處理。在特定的一次對 eval 的調用過程中,eval 代碼作為該 Program 的全局代碼部分。
函數代碼是指作為 FunctionBody 被解析的源代碼文本。一個 FunctionBody 的函數代碼不包括作為其嵌套函數的 FunctionBody 被解析的源代碼文本。函數代碼同時還特指以構造器方式調用 Function 內置對象時所提供的源代碼文本。更精確地說,調用 Function 構造器時傳遞的最后一個參數將被轉換為字符串並作為 FunctionBody 使用。如果調用 Function 構造器時,傳遞了一個以上的參數,除最后一個參數以外的其他參數都將轉換為字符串,並以逗號作為分隔符連接在一起成為一個字符串,該字符串被解析為 FormalParameterList 供由最后一個參數定義的 FunctionBody 使用。初始化 Function 對象時所提供的函數代碼,並不包括作為其嵌套函數的 FunctionBody 被解析的源代碼文本。
嚴格模式下的代碼
一個 ECMA 腳本程序的語法單元可以使用非嚴格或嚴格模式下的語法及語義進行處理。當使用嚴格模式進行處理時,以上三種代碼將被稱為嚴格全局代碼、嚴格 eval 代碼和嚴格函數代碼。當符合以下條件時,代碼將被解析為嚴格模式下的代碼:
當全局代碼以指令序言開始,且該指令序言包含一個使用嚴格模式指令時,即為嚴格全局代碼。
當 Eval 代碼以指令序言開始,且該指令序言包含一個使用嚴格模式指令時;或者在嚴格模式下的代碼中通過直接調用 eval 函數時,即為嚴格 eval 代碼。
當一個 FunctionDeclaration、FunctionExpression 或 PropertyAssignment 訪問器處在一段嚴格模式下的代碼中,或其函數代碼以指令序言開始,且該指令序言包含一個使用嚴格模式的指令序言時,該函數代碼即為嚴格函數代碼。
當調用內置的 Function 構造器時,如果最后一個參數所表達的字符串在作為 FunctionBody 處理時以指令序言開始,且該指令序言包含一個使用嚴格模式的指令,則該函數代碼即為嚴格函數代碼。
 
 
 

 


免責聲明!

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



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