1. c++中的編譯器和預處理器有何不同
元代碼中,包含了兩個部分的內容,
一個是對機器有用的東西,
一個是對人有用的東西,比如
注釋。
預處理器就是
在編譯之前,把代碼整理一下,把一些沒用的東西,給處理掉。做好准備工作後,然後再編譯。
2. c語言,編譯、預編譯區別
任何一種編程語言的編譯都是把代碼轉換成機器代碼認識的格式的過程,而C語言里的預編譯則是進行類似轉換宏,頭文件的代碼拷貝,條件語句轉換等等基礎的轉換工作。詳細可以看看網路里的內容。
3. 預處理命令和編譯預處理是什麼關系
所謂預處理是指在進行編譯的第一遍掃描(詞法掃描和語法分析)之前所作的工作。它由預處理程序負責完成。當對一個源文件進行編譯時,系統將自動引用預處理程序對源程序中的預處理部分作處理,處理完畢自動對源程序編譯
4. 預編譯和預處理有什麼區別,他們是一樣的嗎
預編譯(預處理)就是在正式編譯之前的,為正式編譯做准備,處理以#開頭的指令,兩者是一樣的,只是兩種叫法而已
5. c語言,編譯、預編譯區別
預編譯又叫預處理是在編譯之前完成的事情,主要是完成宏替換、文件包含和條件編譯的處理
處理完的結果還是C程序,不是機器語言
而編譯就是要把C語言的程序變成機器語言了
6. 編譯和預編譯有什麼區別。
預編譯又稱為預處理,是做些代碼文本的替換工作。
處理#開頭的指令,比如拷貝#include包含的文件代碼,#define宏定義的替換,條件編譯等
就是為編譯做的預備工作的階段
主要處理#開始的預編譯指令
編譯(compilation , compile) 1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。 2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
7. c++中的編譯器和預處理器有何不同
元代碼中,包含了兩個部分的內容,
一個是對機器有用的東西,
一個是對人有用的東西,比如 注釋。
預處理器就是 在編譯之前,把代碼整理一下,把一些沒用的東西,給處理掉。做好准備工作後,然後再編譯。
8. #define是預處理指令,typedef是在編譯時處理的,編譯預處理和編譯時處理有什麼不同。
編譯預處理會在編譯前處理好,比如#define N 7 則遇到N的地方都直接用7替換,然後在進行整個程序的編譯,typedef則是在編譯時遇到你所定義的東西,再回到typedef語句中尋找解釋,繼續編譯下去的
9. 在vc中,什麼是編譯,預處理,鏈接
預處理即對源碼進行編譯前處理
語句前為"#"的語句就是在預處理期間作用的
如#include會在此位置帖上文件的內容,#define則會替換字串的內容
編譯是將源文件處理成目標文件的過程,目標文件並不是可執行的代碼,它包含有許多位置代碼,如某些函數在可執行文件的實際位置
如編譯出來的目標文件有類似的位息:
main: 233
fun1: 300
fun2: 545
fun3: 700
鏈接則是將許多目標文件合並處理成可執行文件
如上例中
main和fun1在1.obj中
fun2和fun3在2.obj中
這樣在第一個文件中main函數里可以調用fun2,並可以通過編譯,而不用定義
在鏈接時,鏈接器統計所有obj里的這種位置信息
然後將1.obj中引用fun2中的內容替換成545
這樣,兩個obj中的函數等信息可以互相調用