當前位置:首頁 » 編程軟體 » 張晶編譯原理答案

張晶編譯原理答案

發布時間: 2025-07-16 10:37:48

㈠ 什麼是目標代碼

目標代碼是指源代碼經過編譯程序產生的能被CPU直接識別的二進制代碼。
目標代碼的形式
目標代碼生成是以中間代碼作為輸入,將其轉換成特定機器的機器語言或匯編語言作為輸出。在此以四元式序列作為它的加工對象,輸出目標代碼的形式有三種:具有絕對地址的機器語言程序,具有相對地址的機器碼程序和匯編指令程序。

具有絕對地址的機器語言程序在存儲空間中有固定的存儲位置,一旦產生此種形式的目標代碼之後,便可立即執行,因此這種形式最為迅速有效,但它並不靈活,不適合大型程序。
具有相對地址的機器語言程序由若干個目標模塊組成,各個模塊中都包含目標程序中的一部分代碼,可將它們裝人到存儲空間的任何位置,然後由連接裝配程序將它們連接在一起之後執行。顯然,連接裝配程序增加了開銷,但這種形式有較大的靈活性,所以為許多編譯程序所採用。
目標代碼生成程序可以產生匯編語言形式的目標代碼,這種形式在實現上要比前兩種形式容易。當然,這種形式的目標代碼還需經匯編後才能成為可執行代碼。

目標代碼的生成
目標代碼生成是編譯程序的最後一個工作階段,其任務是把經優化處理之後的中間代碼變換成特定機器上的機器語言程序或匯編語言程序,實現最終的翻譯工作。由於目標語言依賴於硬體系統,因而如何充分利用現有的寄存器以節省訪問內存的時間,合理地選擇執行速度快的指令,生成盡可能短且有效的目標代碼是這個階段考慮的主要問題。

如果代碼生成程序以四元式形式的中間代碼序列作為輸入,在其生成目標代碼時,可假定每個四元式中的運算符及運算對象的數據類型均已知道,所需的全部類型轉換操作均已在中間代碼中得到體現。此外,如果出現在程序中的全部符號名運行時所需的存儲空間均已得到分配,它們所在的數據區編號及相對地址已分別填人符號表各相應登記項欄中。所以在四元式中,僅出現符號名在符號表中登記項的序號。
參考文獻
龍馬工作室編著.第8章 CSS+Div常見用法 Dreamweaver CS5從新手到高手.人民郵電出版社,2011.02.
張晶主編.第11章 目標代碼生成 編譯原理.哈爾濱工程大學出版社,2011.08.
王麗芳,張靜,李富萍等編著.第三章 程序設計語言和方法 計算機科學導論.清華大學出版社,2012.01.

熱點內容
銳龍本編程 發布:2025-07-16 19:35:08 瀏覽:643
初學c語言用什麼軟體 發布:2025-07-16 19:29:12 瀏覽:338
編譯原理實驗分析子程序 發布:2025-07-16 19:28:06 瀏覽:459
長江存儲宿舍有wifi嗎 發布:2025-07-16 19:20:45 瀏覽:872
sqlservertrigger 發布:2025-07-16 19:08:19 瀏覽:400
android中權重 發布:2025-07-16 19:07:26 瀏覽:422
lol界面在哪個文件夾 發布:2025-07-16 19:01:53 瀏覽:937
php文件解壓 發布:2025-07-16 19:01:08 瀏覽:884
日誌中心伺服器怎樣搭建 發布:2025-07-16 19:00:27 瀏覽:605
硬碟加密保護 發布:2025-07-16 18:58:52 瀏覽:40