[問題] 關於compiler和assembler的問題

看板C_and_CPP (C/C++)作者 (wen)時間14年前 (2012/04/11 14:19), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/2 (看更多)
最近在看"程式設計師的自我修養這本書"(繁體中文版), 在第二章,第40頁提到"編譯"是把前置處理完的檔案產生相對應的 組合語言程式碼,而"組譯"是將組合語言程式碼轉成機器可執行的指令。 但是在第41頁開始的"編譯器做了什麼這節"卻提到編譯過程可分為6步, 最後會產生Final Target Code. 我的疑問在於target code(object code) 不是應該像前面所提到的是由assembler所產生的嗎? 在第三章的一開始書上也寫道"編譯器編譯原始碼後所產生的檔案叫做目的檔" 目的碼到底是編譯器還是組譯器所產生的? 想請問板上的前輩我是否誤解了哪個部分? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.217.21

04/11 17:03, , 1F
我也正在學..似乎是語意分析完後 如果不產生中間碼
04/11 17:03, 1F

04/11 17:04, , 2F
就直接產生目的碼
04/11 17:04, 2F

04/11 19:17, , 3F
欸 其實組合語言程式碼跟target code 可以視為一樣的東西
04/11 19:17, 3F
文章代碼(AID): #1FXI9i9D (C_and_CPP)
文章代碼(AID): #1FXI9i9D (C_and_CPP)