25304


Windowsでビルドした.NET CoreのプログラムをそのままLinuxに持っていったら動きました。

これは.NET Coreに含まれるランタイムがX64のアーキテクチャであれば動くように実装されているから、という理解で正しいでしょうか？  
(つまりJAVA仮想マシンのような役割を担っている？)

理解が間違っている、もう少し詳しくいうとこうなる、などのご指摘ありましたらよろしくお願いします。

ちなみに今のところサポートしているのは下記のOSのX64だけのようですね。  
<https://github.com/dotnet/core/blob/master/roadmap.md>


CC BY-SA 3.0
2016-05-30T09:43:06.983
25301
2016-05-30T10:26:55.307
14288
question
c# linux windows .net
.NET Core のプログラムがクロスプラットフォームで動作する理由


それは、実装したコードがCIL(共通中間言語)に翻訳されているためですね。  
CILはCLR(共通言語ランタイム)上で実行可能で、  
特にCoreCLRはWindows他、OS X、Linux等でサポートされています。  
詳しくはこれらのキーワードを検索してみてはどうでしょう。


CC BY-SA 3.0
2016-05-30T10:26:55.307
25304
2016-05-30T10:26:55.307
3793
25301
answer