用途
大多數動態重編譯器用於在執行時不同架構間轉換機器碼。這是一個在模擬傳統遊戲平台中往往需要執行的任務。在其他情況下,系統可採取動態重編譯作為自適應最佳化的一部分,以執行可移植程式,如
Java與 .NET
通用語言運行庫位元組碼。全速調試器還使用動態重編譯來減少大多數逆最佳化技術中產生的空間開銷,並實現其他功能,例如動態執行緒遷移。
任務
動態重編譯執行的主要任務:
動態重編譯也可以執行一些輔助任務:
套用
通用
遊戲
MAME在其CPU模擬器中使用動態重編譯,支持MIPS、SuperH、PowerPC,甚至是Voodoo GPU
PCSX2,索尼PlayStation 2模擬器,擁有"SuperVU"的繼任者——"microVU"重編譯器
即時編譯
即時編譯(英語:Just-in-time compilation),又譯
及時編譯、
實時編譯,
動態編譯的一種形式,是一種提高
程式運行效率的方法。通常,程式有兩種運行方式:靜態
編譯與動態
解釋。靜態編譯的程式在執行前全部被翻譯為
機器碼,而解釋執行的則是一句一句邊運行邊翻譯。
即時編譯器則混合了這二者,一句一句編譯原始碼,但是會將翻譯過的代碼快取起來以降低性能損耗。相對於靜態編譯代碼,即時編譯的代碼可以處理延遲綁定並增強安全性。
即時編譯器有兩種類型,一是位元組碼翻譯,二是動態編譯翻譯。