MonoはCLRを実装していますか?または、少なくとも管理されていない内部コール?または何もありません?

StackOverflow https://stackoverflow.com/questions/9321803

  •  27-10-2019
  •  | 
  •  

質問

C#は、p/invokeのような管理されていないコードまたは内部コールのようなCLR実装コードを使用することを知っています。私が知りたいのは、Mono ITが完全なCLRを実装しているのか、それとも何らかの管理されていないコードを実装しているのか、それとも何もないのか? .NETリフレクターまたはILSPYを使用して管理されたアセンブリを表示できますが、パフォーマンスの問題のために、CLRが管理されていないコードをどのように実装するかを知る必要があります。いいね:System.string.get_lenght()はどのように行いますか?誰でも上記の質問に答えることができます、またはこれに関するいくつかの情報は歓迎されます。ありがとう。

役に立ちましたか?

解決

はい、MonoはCLR全体を実装しているので、そのコードを見た場合、次のようなメソッドの実装が見つかります String.get_Length().

しかし、MonoはMicrosoft CLRとは異なる実装です。それが意味することは、あなたがコードを調べた場合です String.get_Length() モノでは、Microsoft CLRが同じことをする方法をまったく異なる方法で持っている可能性があります。

別のオプションは見ています 共有ソース共通言語インフラストラクチャ. 。それはMicrosoftからのものであり、おそらくMonoよりもCLRの実装に似ていますが、それでも同じではありません。最新のバージョンは.NET 2.0に対応しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top