C#だけの話ではないのですがコンパイルすると、exeファイルや、dllが作成されますが
このファイルが、Imediate Language (IL)なのでしょうか?ちょっと混乱してます。
Javaみたいに、1つのクラスファイルが1つのクラスファイル(中間ファイル)
になったりはしないのでしょうか。
> C#だけの話ではないのですがコンパイルすると、exeファイルや、dllが作成されま
すが
> このファイルが、Imediate Language (IL)なのでしょうか?
はい。
> Javaみたいに、1つのクラスファイルが1つのクラスファイル(中間ファイル)
> になったりはしないのでしょうか。
そのようにコンパイルすることも出来ますが、普通はなりません。
言葉をちょっと混乱しているのですが
アセンブリも、IL、exeと等価でしょうか。
また作成されたexeは、Windows環境でコンパイルされたからって
ネイティブなものではなく、中間コードってことでいいんですよね。
>そのようにコンパイルすることも出来ますが、普通はなりません。
コンパイルオプションでしょうか。もしご存知であれば教えて頂きたいです。
ILはCLIが解釈可能な機械語コードです。
アセンブリはモジュールの論理集合です。
モジュールはコード・メタデータ・リソースの集合です。
この時点で,最初に質問(ILとはEXEか?)については,
明らかに「NO」です。EXEファイルがx86の機械語か,と聞いているようなものですから。
また,アセンブリはexeと等価ではありません。
アセンブリは複数のファイルからナル場合もありますから。
書籍Essential.NET (ISBN4-89100-368-5)などに一度目を通してみることをお薦めしま
す。
ちょっと調べてみました。
ILコードは、ビットマップや文字列などのリソースと共にまとめられて
実行ファイル(あるいはDLL)になる。
これらの1つ以上の集合が、アセンブリ?
このような感じでしょうか?
ここを見るとわかってきました。
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_01/idnfw11_01_02.html
シャノンさん、YuOさん、ありがとうございました。
ところで、ご推薦の書籍「Essential.NET」が検索してもヒットしないです。
すいません。解決とします。