C# .NET、Mono、跨平台 的簡單介紹





1、.NET是什么

.NET是微軟搭建的開發者平台,主要包括:

  • 1.支持(面向)該平台的編程語言(如C#、Visual Basic、C++/CLI、F#、IronPython、IronRuby...),

  • 2.用於該平台下開發人員的技術框架體系(.NET Framework、.NET Core、Mono、UWP等),

    • 1.定義了通用類型系統,龐大的CTS體系
    • 2.用於支撐.NET下的語言運行時的環境:CLR
    • 3..NET體系技術的框架庫FCL
  • 3.用於支持開發人員開發的軟件工具(即SDK,如VS2017、VS Code等)

這篇博文寫的無比清晰。https://www.cnblogs.com/1996V/p/9037603.html#net23

2、Mono是什么

微軟的.NET框架本身只能在windows上運行,對於跨平台的需求,Mono就產生了。

Mono是.NET的一個開源跨平台工具,可以實現跨平台運行。
Mono作為.NET框架在不同平台上的重要補充,Mono也被Unity所引用。

3、Unity是如何實現跨平台的

因為Unity使用了叫CIL(通用中間語言)的代碼指令集。CIL可以在任何支持CLI(通用語言基礎結構)的環境中運行。

Unity代碼的編譯分為兩部分:

  1. 從代碼到CIL的編譯
  2. 運行時從CIL到本地指令的即時編譯(不包括IOS,因為IOS無法使用JIT引擎)

Unity打包時會將mono一同打包進來,同時Unity將腳本編譯為CIL代碼打包,這樣只要是Mono支持的平台,都可以在Mono中編譯成平台本地代碼。


參考於Unity3D腳本編程一書


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM