一.預編譯又稱為預處理,是做些**文字的替換工作。處理#開頭的指令,比如拷貝#include包含的檔案**,#define巨集定義的替換,條件編譯等,就是為編譯做的預備工作的階段主要處理#開始的預編譯指令。
二.編譯(compilation , compile)
1、利用編譯程式從源語言編寫的源程式產生目標程式的過程。
2、用編譯程式產生目標程式的動作。 編譯就是把高階語言變成計算機可以識別的2進製語言,計算機只認識1和0,編譯程式把人們熟悉的語言換成2進製的。
例子:編譯就是把你寫的高階語言程式轉換成二進位制語言,如c語言寫的程式計算機是不能直接執行的,需要編譯成為二進位制檔案0101…才能執行,這個應該好理解。
預編譯顧名思義就是在編譯之前預處理的工作,
如程式中
#define max 255 …… int c;
c=max; …
預處理就會把程式中的max替換成255;即c=255;預編譯只是做了替換,但是而不像編譯那樣根據語法語義生成**
JS預編譯 函式預編譯和全域性預編譯
預編譯發生在函式執行前一步 建立ao物件 執行期上下文 找形參和變數宣告,將變數和形參名作為ao 屬性名,值為undefined 將實參值和形參統一 在函式體裡面找函式宣告,值賦予函式體 結果 預編譯過程 函式馬上要執行,但是還沒執行 首先建立ao物件,也就是函式它產生的儲存空間庫 ao,b und...
javascript的預編譯階段
1.變數與函式 在js中宣告乙個變數有let const var三種方式,函式有宣告函式和函式表示式兩種。2.預編譯階段做的事情 在預編譯階段,所有的var宣告的變數會被初始化為undefined,所有的宣告函式會用它的定義進行初始化,而const let宣告的變數則不會在預編譯階段執行初始化,函式...
預編譯與編譯
一c c 源 從最初的文字變為可執行檔案主要進行三大步 預編譯階段 主要是編譯器執行 文字處理工作,並不會進行語法檢查 主要執行三大類預編譯命令 巨集定義 文字替換功能,將使用了巨集的地方採取巨集定義方式直接展開 條件編譯 文字剪下功能,根據設定的條件選擇性刪除一些 片段 包含檔案 文字插入功能 i...