2012-01-19 7 views
-4

私はC#で開発して以来、これは私が持っている好奇心です。誰でも知っていますか?どの言語でC#をコンパイルしました

+2

C#が言語であるC言語で書かれていることを前提としていますので、それを遵守し、あるいは書かれた(プログラム)されていません。ところで、私はあなたがどの言語でC#コンパイラが書かれていると思いますか? – 000

+0

[C++コンパイラはC++で書かれましたか?](http://stackoverflow.com/questions/631059/was-c-sharp-compiler-written-in-c) – ChrisWue

+0

バージョン4より前のC#コンパイラが作成されましたC++で。次のバージョンはC#で書かれています。 Anders Hejlsbergは、私が信じる最後のBUILDイベントでそれを述べました。 –

答えて

0

CLR - 共通言語ランタイム。それはローカルマシンのバイトコードにコンパイルされたJITです。

は、詳細についてはこちらを参照してください:あなたはまた、.NETの代替であるモノを持つC#をコンパイルすることができますhttp://en.wikipedia.org/wiki/Common_Language_Runtime

注意を。参照:http://www.mono-project.com/Main_Page

+0

ブラックアウトを避けるために、ページが読み込まれている間にjavascriptをオフにするか、エスケープすることができます。 – Dessus

+0

チップのおかげで、デッサス - このブラックアウトは、今日本当の迷惑でした... –

+0

CILは本当に私が与えることを意図したリンクです。ここに:http://en.wikipedia.org/wiki/Common_Intermediate_Language – Dessus

2

正確にはどういう意味ですか?コンパイラの記述が何であれ、私は確信していますが、最終的にはC#であり、.NET言語のいずれかがIntermediate Language(IL)にコンパイルされ、共通言語ランタイム(CLR)バーチャルで実行される共通言語を提供します機械。 ILとCLRの組み合わせにより、.NET言語はシームレスに相互運用できます。

これはターゲットマシンのバイトコードにコンパイルされます。

ILDASMを使用すると、C#などがコンパイルされているILコードを検査できます。

System.Reflection.Emit名前空間とILGeneratorクラスを使用して独自のILコードを記述することもできます。ランタイムプロキシを生成するのに便利です。

+1

ここにコンパイラの実装についての情報:http://stackoverflow.com/questions/631059/was-c-sharp-compiler-written-in-c –

+0

+1ニース、私は自分の用語が混ざっている。 – Dessus

0

私は.NETランタイムやC#コンパイラは、/ C++

+0

http://stackoverflow.com/questions/631059/was-c-sharp-compiler-written-in-c –

+0

ここには.netバージョン(非公式)があります:http://blogs.msdn.com/b/ jmstall/archive/2005/02/06/368192.aspx。また、マイクロソフトのリサーチがC#でコンパイラのバージョンを書いていたという話も聞きました。私はそのthoのリンクを見つけることができません。 – Dessus

関連する問題