35
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

一人Unity&C#Advent Calendar 2018

Day 3

Unity開発するにあたって知っておきたいコンパイラのすゝめ(Part0.5~.NET Frameworkの概要編~)

Last updated at Posted at 2018-12-03

#最初に

この記事はUnityで使用されているコンパイラについてまとめた記事のうちの、土台部分である**.NET Framework**について簡単にまとめた記事です。そのため、Part1ではなく、とっかかりという意味で0.5と記載させて頂きました。

.NET と .NET Frameworkって違うの?

.NET

.NETとはマイクロソフトが提供している各種のライブラリや基盤となるフレームワークそれらをすべて含めた統合開発環境のことを指します(IL言語については後述)。

image.png

.NETの中でも特に大きなライブラリが.NET Frameworkとなります。

そのため、.NET Framework のことを .NET と呼ぶ人も多いです。

.NET Framework

.NET Frameworkは

  • **「共通言語基盤(CLI:Common Language Infrastructure)」という、「言語に依存しない開発環境および実行環境を提供すること」を目的にした、実行コードや実行環境の仕様を実装した代表的なものである「共通言語ランタイム(CLR:Common Language Runtime)」**というプログラム実行エンジン(.NET FrameworkやMono)
  • 基本クラス(Systemなど)、ライブラリやフレームワーク

で構成されています。

image.png

.NET Frameworkにおいて、CLI互換な実行環境をターゲットとしている言語(C#,VBなど)の場合は一旦、.NET の**中間言語(IL:Intermediate Language(別名:CIL,MSIL))**にコンパイルされます。アプリやライブラリ等は、ILの状態で配布を行うようです。

ILはアセンブリ言語で定義されており、VESによってJITで実行されます。

処理の流れ

image.png

VESからマシン語に変換される際にはJITで行われますが、JITについては次の記事で解説しようと思います。

#最後に

いかがだったでしょうか。私自身は今までC#の言語機能ばかりを追い続けていて基盤部分には目を向けていなかったため、すごくあやふやな状態でした。今回この記事を書いて、自分自身の勉強にもなりました。この記事が僕のような初心者の方の役に立てれば幸いです。

#参考

35
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?