我有我用C#編譯的可執行文件,我想從它彙編代碼彙編代碼,有沒有工具可以做到這一點? 也有可能從生成的彙編程序創建一個可執行文件?如何從可執行文件轉儲彙編程序
0
A
回答
2
C#沒有編譯到彙編程序級別,它編譯爲通用中間語言(CIL),這不是一回事。編譯C#需要一個解釋器,並且總是會的。你不能僅僅將編譯後的表單複製到一個非.NET程序中。
+0
「編譯C#需要解釋器」 - 從技術上講,不。 CIL需要一個虛擬機(即使這不是普遍規律,有一些小型CPU可以執行JVM字節碼,CIL也應該可以),但是可以將C#編譯爲除CIL以外的內容(例如本地代碼)。它可能仍然需要* some * runtime(例如,對於GC;這可以靜態鏈接到可執行文件中)。這只是一個巨大的項目,並且在使用CIL和利用現有實現及其JIT編譯器(如果需要AOT編譯時爲'ngen')提供接近於零的優勢。 – delnan
+0
啓動時間是最重要的原生優勢。 Afaik NGEN的開發是爲了解決這個問題。 –
1
相關問題
- 1. 如何刪除彙編程序可執行文件?
- 2. Windows如何執行彙編程序?
- 3. 程序的彙編和執行 - 兩遍彙編程序
- 4. 內聯彙編程序執行時間
- 5. 不能執行彙編程序
- 6. 如何將內聯彙編程序轉換爲.asm文件
- 7. 如何將Java應用程序轉換爲可執行文件?
- 8. 如何將python程序轉換爲可執行文件[Python 3.4.2]
- 9. 爲了能夠反彙編可執行文件,我需要了解彙編程序嗎?
- 10. 如何使用匯編語言編寫可執行文件?(在emacs中)
- 11. 如何從.bin文件獲取可執行應用程序
- 12. 如何從C程序(使用winapi)調用可執行文件?
- 13. 如何測量執行的彙編程序指令的數量?
- 14. 如何在64位操作系統上執行彙編程序?
- 15. 如何在應用程序啓動時執行彙編代碼
- 16. 彙編程序使用條件跳轉
- 17. 如何獲得可執行文件的字符串轉儲?
- 18. 微軟彙編程序轉換爲GNU彙編程序
- 19. 如何編譯成可執行文件
- 20. 如何編寫clisp可執行文件?
- 21. 如何從另一個Qt程序執行分離的C++可執行文件?
- 22. 從存儲過程執行dtsx文件
- 23. 如何將彙編文件(.s文件)鏈接到C程序
- 24. 從Cygwin可執行文件中使用堆棧轉儲
- 25. 編程註冊程序到添加/刪除程序並將文件存儲在可執行文件中
- 26. 從.pro編譯可執行文件
- 27. 從bootloader運行彙編程序
- 28. 可執行文件的註釋反彙編
- 29. 獲取可執行二進制文件的完整反彙編
- 30. 反彙編對象和可執行文件的差異
使用ildasm.exe查看生成的IL。是的,ilasm.exe可以重建.exe –