欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

代碼怎么保存成文件

錢浩然2年前27瀏覽0評論

代碼怎么保存成文件?

代碼保存成文件 需要經過預處理,編譯,匯編,鏈接

一:預處理

預處理主要是處理源代碼中以#開始的預編譯指令,比如#include,#define

將所有的#define刪除,展開宏定義

處理所有的條件編譯指令#if,#ifdef,#elif,#else,#endif

處理#include預編譯指令,將被包含的頭文件插入該預編譯指令的位置,是個遞歸的過程

刪除所有的注釋 //與/**/

添加行號與文件名表示,用于調試符號與編譯錯誤或警告報錯

保留#pragma編譯指令,改指令 編譯器需要使用

二:編譯

編譯過程就是把預編譯生成的文件進行一系列詞法分析(也叫掃描),語法分析,語義分析,源代碼優化,匯編代碼生成,目標代碼優化

詞法分析:根據分隔符,將代碼分割成一系列的記號

比如: int a = (a+3)*(2+5);

將會 變成以下記號: int,a,=,(,a,+,3,),(,2,+,5,)

詞法分析產生的記號可以分為:關鍵字,標識符,字面量(數字,字符串,即常量),特殊符號(加號,等號等),在識別記號時,會將標識符放入符號表,字面量放入文字表

語法分析:根據記號進行語法分析,產生語法樹,整個分析過程采用上下文無關語法(語法樹就是以表達式為節點的樹),僅僅是完成對表達式的語法層面進行分析

語義分析:語義分析對語法樹中的表達式標識類型,對于類型不匹配,編譯器將會報錯,如果有些類型需要做隱式轉換,將會在語法樹中插入對應的節點

源代碼優化生成匯編代碼:int a = (a+3)*(2+5); 將會被優化為int a = (a+3)*(7)

三:匯編

匯編即根據匯編指令翻譯為機器指令

四:鏈接

鏈接主要包含 地址和空間分配,符號決議,重定位

php郵件發送附件源碼,代碼怎么保存成文件