.NET Framework SDKで始める.NETプログラミング(前編)

8.Hello World展覧会(5) - MSIL -

デジタルアドバンテージ 遠藤孝信
2001/02/10

p.1 p.2 p.3 p.4 p.5 p.6 p.7 p.8 p.9 p.10 p.11 p.12

MSIL版Hello World

 コンソール・アプリケーション版のHello Worldの最後として、MSIL版のHello Worldを紹介しておこう。

  1: // ilhello.il
  2:
  3: .assembly ilhello{}
  4:
  5: .method public static void ILHello()
  6: {
  7:  .entrypoint
  8:  ldstr "Hello MSIL World!"
  9:  call void [mscorlib]System.Console::WriteLine(class System.String)
 10:  ret
 11: }
MSIL版Hello Worldのソースコード
  3: アセンブリに名前を付ける。
  5: スタティックなメソッドILHelloを定義する。7行目によりこのメソッドがエントリ・ポイントとなる。
  8: 出力する文字列をスタックにプッシュする(次のSystem.Console::WriteLineに渡すパラメータをスタックにプッシュする)。
  9: 文字列を出力するために、System.ConsoleオブジェクトのWriteLineメソッドを呼び出す。このようにMSILでは、オプジェクトを取り扱うことができる。

 先頭がドットでない、8〜10行目が実質的なコードである。詳細は割愛させていただくが、8行目で出力する文字列をスタックにプッシュし、9行目でSystem.ConsoleオブジェクトのWriteLineメソッドを呼び出している。

 このプログラムをアセンブル(コンパイル)し、実行すると次のようになる。

MSIL版Hello Worldをコンパイル、実行したところ

 MSILに関する詳細な言語仕様は、以下のディレクトリに収められているので、興味があればそちらを参照していただきたい(ただし、ドキュメントはすべて英語である)。

\Program Files\Microsoft.Net\FrameworkSDK\Tool Developers Guide\docs

関連記事(Insider.NET内)
特集
.NET Framework入門
Insider's Eye
Visual Studio.NETベータ1日本語版の入手法を総括する
関連リンク
マイクロソフトの.NET Framework SDKベータ1 日本語版のダウンロード・ページ
.NET Framework SDKベータ1(英語版)のダウンロード・ページ
IEのホームページ
Microsoft Data Access Components (MDAC) 2.6 RTM (2.60.6526.3) 日本語版 ダウンロード・ページ
最新障害情報ページ
 

 INDEX
  [特集] .NET Framework SDKで始める.NETプログラミング(前編)
    1..NET Framework SDKとは?
    2..NET Framework SDKをインストールする前に
    3..NET SDKのインストール
    4.Hello World展覧会(1)
    5.Hello World展覧会(2) - C# -
    6.Hello World展覧会(3) - VB.NET,JScript.NET -
    7.Hello World展覧会(4) - マネージド C++ -
  8.Hello World展覧会(5) - MSIL -
    9.Hello World展覧会(6) - Windows Forms -
   10.Hello World展覧会(7) - Webサービス -
   11.Hello World展覧会(8) - Webアプリケーション -
 
  [特集].NET Framework SDKで始める.NETプログラミング(後編)

 



Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間