當前位置:首頁 » 編程軟體 » 如何編譯中間代碼

如何編譯中間代碼

發布時間: 2024-12-18 06:33:26

① 為什麼要採用中間代碼中間代碼有哪幾種形式(編譯原理)

採用中間代碼是把源程序映射成中間代碼表示,再映射成目標代碼的工作分在幾個階段進行,使編譯演算法更加清晰。中間代碼有四種形式:

1、逆波蘭表示

逆波蘭表示又稱後綴表示法,它是最簡單的一種中間代碼表示形式,早在編譯程序出現之前,它就用於表示算術表達式。

2、四元式

四元式也是一種比較普遍採用的中間代碼形式,

其形式為:(OP,ARG1,ARG2,RESULT)

3、三元式

三元式表示是與四元式類似的一種表示法,所不同的僅是三元式中沒有表示運算結果的部分,凡要涉及到運算結果的均用三元式的位置或序號來代替。

4、樹表示

樹形表示是三元式的翻版。在樹的表示中,樹葉均為運算對象,即常量或變數,其他結點表示運算符。表達式的樹形表示很容易實現:簡單變數或常量的樹就是該變數或常量自身。

(1)如何編譯中間代碼擴展閱讀

中間語言的優點:

1、中間語言與具體機器特性無關,一種中間語言可以為生成多種不同型號的目標機的目標代碼服務。

2、可對中間語言進行與機器無關的優化,有利於提高目標代碼的質量。

對於中間語言,要求其不但與機器無關,而且有利於代碼生成。

② llvm怎樣將中間代碼編譯為可執行二進制文件

預編譯。編譯器將你的.c、.cpp源代碼,通過解釋其中的預編譯指令,將源代碼轉換成相應的沒有任何預編譯指令的代碼。

編譯、優化。將上一步的代碼編譯成匯編指令,並作一定優化,形成對應的.s匯編代碼
匯編。將.s文件匯編成機器碼,形成對應的.o目標文件,此時是不可執行的二進制文件。生成對應的清單文件。為了連接需要,還會生成未定向符號表、導出符號表、地址重定向表等等。
連接。先根據對應的清單文件、連接文件及之間的調用關系,決定所有的目標文件及引用的庫文件在最後可執行文件中的位置;然後做一些其他事情,比如根據符號表等將目標文件中的符號地址補全等等;最終得到可執行文件。
這只是我個人的簡單理解,更詳盡的解答都可以寫成好幾本書了=_=望採納~

熱點內容
計算機外存儲器 發布:2024-12-18 08:53:39 瀏覽:581
crypto加密文件 發布:2024-12-18 08:49:55 瀏覽:164
漢ev碳纖維橙色內飾是哪個配置 發布:2024-12-18 08:49:54 瀏覽:262
資料庫重行 發布:2024-12-18 08:48:35 瀏覽:97
jquery的on的源碼 發布:2024-12-18 08:48:28 瀏覽:902
linux遍歷文件夾 發布:2024-12-18 08:47:36 瀏覽:940
魂師對決ios如何加安卓好友 發布:2024-12-18 08:42:03 瀏覽:590
rtmpandroid 發布:2024-12-18 08:38:48 瀏覽:388
我的世界設置伺服器的世界出生點 發布:2024-12-18 08:38:11 瀏覽:709
sql統計條數據 發布:2024-12-18 08:38:09 瀏覽:31