2
據我所知,LLVM不會讓你執行使用特定的處理器寄存器。這是否意味着使用LLVM的語言,不能用於開發OS,引導加載程序或例如需要直接訪問寄存器的東西?在操作系統開發中可以使用基於LLVM的語言嗎?
是否有任何其他原因LLVM IR 可以或不能用於操作系統開發?
據我所知,LLVM不會讓你執行使用特定的處理器寄存器。這是否意味着使用LLVM的語言,不能用於開發OS,引導加載程序或例如需要直接訪問寄存器的東西?在操作系統開發中可以使用基於LLVM的語言嗎?
是否有任何其他原因LLVM IR 可以或不能用於操作系統開發?
LLVM是一個抽象機器。因此,它不會直接允許您訪問某些硬件寄存器。但是,仍然可以使用內聯彙編(通過call asm
LLVM位代碼助記符)或編程幾個需要訪問程序集中的固定硬件寄存器的函數,並從LLVM代碼中調用它們。
對於需要訪問特定特殊寄存器的部分,無論如何您都將使用匯編。 – fuz
@FUZxxl這就是我要求的。所以我不能用LLVM讓它停止使用Assembly? – Mahdi
如果這就是你所問的,是的,你不能。儘管如此,這種代碼通常很少是操作系統的代碼。你也無法用其他任何方式來擺脫它。 – fuz