寄存器是最快的保存區(qū)域?
這是最快的保存區(qū)域,因?yàn)樗挥诤推渌斜4娣绞讲煌牡胤剑禾幚砥鲀?nèi)部。然而,寄存器的數(shù)量十分有限,所以寄存器是根據(jù)需要由編譯器分配。我們對此沒有直接的控制權(quán),也不可能在自己的程序里找到寄存器存在的任何蹤跡。
編譯器就是一種語言?
簡單講,編譯器就是將“一種語言(通常為高級語言)”翻譯為“另一種語言(通常為低級語言)”的程序。一個現(xiàn)代編譯器的主要工作流程:源代碼(source code) →預(yù)處理器(preprocessor) → 編譯器 (compiler) →目標(biāo)代碼(object code) →鏈接器(Linker) → 可執(zhí)行程序 (executables)
高級計(jì)算機(jī)語言便于人編寫,閱讀交流,維護(hù)。機(jī)器語言是計(jì)算機(jī)能直接解讀、運(yùn)行的。編譯器將匯編或高級計(jì)算機(jī)語言源程序(Source program)作為輸入,翻譯成目標(biāo)語言(Target language)機(jī)器代碼的等價程序。源代碼一般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言,而目標(biāo)則是機(jī)器語言的目標(biāo)代碼(Object code),有時也稱作機(jī)器代碼(Machine code)。