日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从Unity3D编译器升级聊起Mono

發布時間:2023/12/4 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从Unity3D编译器升级聊起Mono 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接前篇Unity 5.3.5p8 C#編譯器升級,本文側重了解一些Mono的知識。

Unity3D的編譯器升級

新升級的Mono C#編譯器(對應Mono 4.4)

Unity編輯器及播放器所使用的Mono運行時還未升級。

新編譯器仍針對C# 4,是舊的編譯器也支持的版本。

新編譯器目標框架為.Net 3.5,也是之前支持的框架。

Mono是如何運行的?

  • *.cs源文件通過編譯器編譯成IL(中間文件)

  • IL 運行在Mono的 JIT(just in time)

  • Mono虛擬機運行在物理機中

  • 查看Unity使用的Mono版本

    參考:http://answers.unity3d.com/questions/259448/how-to-determine-mono-version-of-unity-.html

    我在unity 5.3.4f1 中測試有效,而在unity 4.3.4f1下測試無效

    using UnityEngine;using System;using System.Reflection;public class MonoVersion : MonoBehaviour { ? ?void Start() ? ?{Type type = Type.GetType("Mono.Runtime"); ? ? ?
    ? ? ??if (type != null){MethodInfo info = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static); ? ? ? ? ? ?if (info != null)Debug.Log(info.Invoke(null, null));} ? ? ?//Debug.Log(System.Enviroment.Version);//net version?} }

    方法二

    d:\Program Files\Unity_5_34\Editor\Data\Mono\bin>monop2 --runtime-version mono.exe runtime version: 2.0.50727.1433 d:\Program Files\Unity_5_34\Editor\Data\Mono\bin>mono.exe --version Mono JIT compiler version 2.0 (Visual Studio built mono) Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.comTLS: ? ? ? ? ? normalGC: ? ? ? ? ? ?Included Boehm (with typed GC)SIGSEGV: ? ? ? normalNotification: ?Thread + pollingArchitecture: ?x86Disabled: ? ? ?none

    Mono

    Mono是.Net Framework?

    .NET和Mono兩者是完全獨立的,簡單的理解:Mono項目是第三方的.Net Framework實現,比喻為.Net的跨平臺版,絕大多數C#的特性在.net和mono中都是相同的,少部分特性兩者的實現不一致。

    Mono的目標是創建一系列符合ECMA 標準(Ecma-334和Ecma-335)的.NET 工具,包括C# 編譯器和共通語言執行平臺

    Mono 虛擬機包含一個實時編譯引擎,該引擎可用于如下處理器:x86,SPARC,PowerPC,ARM,S390(32位模式和64位模式),x86-64,IA64?和64位模式的 SPARC。該虛擬機可以將代碼實時編譯或者預先編譯到原生代碼。對于那些沒有列出來的系統,則使用的是代碼解釋器。


    這部分內容摘自:http://www.mono-project.com/docs/about-mono/

    mono - C# Compiler

    Mono’s C# compiler is feature complete for C# 1.0, 2.0, 3.0, 4.0 and 5.0 (ECMA). A good description of the feature of the various versions is available on?Wikipedia.

    mono的c#編譯器提供c# 1.0,2.0,3.0,4.0和5.0(ECMA)完整的功能。不同版本的特性的描述可以在維基百科上查看。

    mono - Mono Runtime

    The runtime implements the ECMA Common Language Infrastructure (CLI). The runtime provides a Just-in-Time (JIT) compiler, an Ahead-of-Time compiler (AOT), a library loader, the garbage collector, a threading system and interoperability functionality.

    mono運行時實現了ECMA 公共語言基礎(CLI)。運行時提供了即時(JIT)編譯器,提前的編譯器(AOT),庫加載器,垃圾回收機器,線程操作,互操作性

    mono - .NET Frame Class Libray

    The Mono platform provides a comprehensive set of classes that provide a solid foundation to build applications on. These classes are compatible with Microsoft’s .Net Framework classes.

    Mono平臺提供了一組全面的類來構建應用程序提供一個堅實的基礎。這些類是兼容微軟的.Net framework

    mono - Mono Class Libray

    Mono also provides many classes that go above and beyond the Base Class Library provided by Microsoft. These provide additional functionality that are useful, especially in building Linux applications. Some examples are classes for Gtk+, Zip files, LDAP, OpenGL, Cairo, POSIX, etc.

    Mono還提供了很多類,甚至超越了微軟提供的基類庫。這些提供額外的功能是有用的,特別是在構建Linux應用程序。一些例子是Gtk +,Zip文件、LDAP、OpenGL,Cairo,POSIX等等。

    .Net和Mono

    .Net和C#版本

    .Net版本和C#版本:http://www.cnblogs.com/zhaoqingqing/p/5478239.html

    .net frameworkc# versionnotedate
    .net 3.53.0vs20082007-08
    .net 4.04.0vs20102010-04
    .net 4.55.0vs2012/132012-10
    .net 4.66.0vs20152015-07

    .Net和Mono版本關系

    一個大致的版本對應關系

    datemono versionnet versionnote
    2008-10-01mono 2.0.net 2.0 c# 3.0
    2011-12-19mono 2.10.8.net 4.0 c# 4.0
    2014-03-31mono 3.4.net 4.5 c#5.0
    2016-06-08mono 4.4.0.net 4.6.1 c#6.0

    mono編譯器版本升級?mono運行庫沒有升級,目前運行時的mono還是?3.5

    Mono發行版本

    Date(時間)Version(版本)Note(備注)
    2004-06-301.0C# 1.0 support
    2006-11-091.2C# 2.0 support
    2008-10-062.0.Net 2.0 C# 3.0
    2010-09-222.8.Net profile C#4.0 support
    2012-10-153.0C# 5.0 support,async base class libray,MVC4 partial
    2014-03-313.4
    2015-04-294.0.NET 4.5 profile .NET4.5 assembiles,C#6.0,integrate .net core code
    2014-03-314.2
    2016-06-084.4
    2016-08-014.6

    2016 Mono joins the .NET Foundation

    參考資料

    Mono release:?http://www.mono-project.com/docs/about-mono/releases/
    Mono 4.4:http://www.mono-project.com/docs/about-mono/releases/4.4.0/
    Mono software:?https://en.wikipedia.org/wiki/Mono_(software)

    Unity3D發行版本

    Unity VersionMono Runtime/Compiler VersionNote
    3.5

    4.0
    引擎大版本升級
    4.3
    新的2D工具,Sprite
    4.6
    uGUI,IL2CPP
    5.02.0/2.0shader,assetbundle重大改變 ,等等
    5.3.5p82.0/4.4Mono編譯器升級運行時未升級,等等
    5.4.0 f12.0/2.0更多VR平臺支持,等等

    擴展資料

    http://blogs.unity3d.com/2016/04/01/unity-joins-the-net-foundation/

    更多信息

    我的疑問

    編譯器和運行時版本不匹配可以正常執行?

    文獻資料

    mono project github:?https://github.com/mono/mono

    mono doc:?http://www.mono-project.com/docs/

    Mono英文百科:[https://en.wikipedia.org/wiki/Mono](https://en.wikipedia.org/wiki/Mono)

    Mono中文百科:https://zh.wikipedia.org/wiki/Mono

    擴展資料

    [.NET Core與.NET Framework、Mono之間的關系](http://www.cnblogs.com/shanyou/p/4295163.html)

    魅力 .NET:從 Mono、.NET Core 說起

    [c#基礎系列二]:從編譯,執行過程理解c#

    Mono為何能跨平臺?聊聊CIL(MSIL)

    國內 Mono 相關文章匯總:http://www.cnblogs.com/shanyou/archive/2012/07/28/2612919.html

    原文地址:http://www.cnblogs.com/zhaoqingqing/p/5762867.html


    .NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

    總結

    以上是生活随笔為你收集整理的从Unity3D编译器升级聊起Mono的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。