我在Miguel de Icaza編寫的一些關於使用mono生成iphone應用程序的提前(aot)彙編中遇到過。這聽起來像是本機代碼的結果。 這是或者有什麼不同?提前編譯代碼和本機編譯代碼之間的區別是什麼
1
A
回答
5
當您使用aot = full(僅在少數平臺上支持)時,將不會在運行時對代碼進行處理。
但是您仍然需要運行時才能提供應用程序使用的許多功能。 Mono的運行時支持垃圾回收,線程管理,IO層,IOremapping層,操作系統接口,對小數類型的支持,反射(所以你仍然可以做類似type.GetMethods()的事情) 。
2
2
是的,結果是本地代碼,但在基本的AOT版本中,這仍然需要Mono運行時執行。
「iPhone上的單聲道」情況會發生什麼會更復雜一點。首先,使用Mono Linker修整受管理的庫。然後將結果編譯爲mono --aot=full
的本地代碼。最後,所有這些都被傳遞到mkbundle以將其打包到單個可執行文件中,包括Mono運行時。
如果您只是想在不安裝Microsoft .Net/Mono的情況下運行.Net應用程序,那麼只需使用mkbundle即可。
+0
謝謝,這有助於我更好地理解它 – jjb 2009-07-22 21:58:29
相關問題
- 1. 編譯代碼和可執行代碼有什麼區別?
- 2. 編譯x64代碼時,「x86_amd64」和「amd64」有什麼區別?
- 3. 編譯後代碼中的'()'是什麼?
- 4. 編譯時間代碼塊
- 5. Ionic將代碼編譯爲本機?
- 6. 編譯本機代碼使用NDK
- 7. 腳本編譯C代碼
- 8. GMP-彙編代碼?編譯代碼
- 9. 困惑!代碼第一和代碼之間有什麼區別?
- 10. 編譯錯誤的代碼的編譯
- 11. 未編譯和編譯的ASP.NET頁面之間有什麼區別
- 12. 代碼合同和編譯
- 13. Java代碼和JIT編譯
- 14. 編譯或解釋代碼中常量和可變成員之間的區別
- 15. 編譯vhdl代碼
- 16. 編譯C代碼
- 17. 代碼不編譯
- 18. 此代碼爲什麼編譯失敗?
- 19. 這段代碼爲什麼要編譯?
- 20. 這個C代碼爲什麼編譯?
- 21. 爲什麼不編譯這個代碼?
- 22. 這段代碼爲什麼不編譯?
- 23. Java編譯混淆:爲什麼這個代碼編譯?
- 24. 爲什麼這段代碼不能用MS編譯器編譯?
- 25. 反編譯預編譯源代碼ASP.NET
- 26. 用C++編譯器編譯c代碼
- 27. 在ubuntu中編譯/編譯源代碼
- 28. 編譯代碼和「保存」庫版本
- 29. 警告代碼cs0618和cs0612之間的區別是什麼
- 30. 爲什麼python在解釋之前將源代碼編譯成字節碼?
好吧我想我得到它謝謝,它是一個運行時的本地代碼,在這方面與vb6有點類似,也許 – jjb 2009-07-22 21:57:29