簡単な CLI プログラムと mono での実行

簡単な CLI プログラムと mono での実行


サイト全体の目次

稿


稿

対象者のレベル

Visual Studio でソリューションとプロジェクトを作成できる。

Visual Studio でプロジェクトの設定ができる。

Visual Studio で単純な「Hello, World.」プログラムが作成できる。

もっとも簡単な CLI プログラム

それではもっとも簡単な CLI プログラムを作成してみましょう。このページで作るのはコンソールベースの「Hello, World.」プログラムです。

まず、事前に空のソリューションを作っておいてください。そのソリューションへプロジェクトを追加します。「新しいプロジェクトの追加」ダイアログでは、「プロジェクトの種類」で「Visual C++」を選択し、「テンプレート」から「空の CLR プロジェクト」を選び、適当なプロジェクト名を付けてプロジェクトを作成.してください。ここでは「CliSample」という名前のプロジェクトを作成しました。

プロジェクトを作成したら、ソリューションエクスプローラでプロジェクトを右クリックし、ポップアップメニューから「プロパティ」を選択.してプロパティページを開きます。

プロパティページでは左上の「構成」を「すべての構成」に変更し、左側ツリーの「構成プロパティ」から「全般」を選択し、右側の「共通言語ランタイム サポート」を「安全な MSIL 共通言語ランタイム サポート(/clr:safe)」を選択.して「OK」ボタンを押します。「共通言語ランタイム サポート」の項目は「共通言語ランタイム サポート(/clr)」のままだと、C/C++ の機能がすべて使えて便利ですが、ネイティブコード(通常のプログラムと同様の、非 CLI のコード)が混在するため .net framework 以外では動作しなくなります。一方「安全な MSIL 共通言語ランタイム サポート(/clr:safe)」を選択すると、C/C++ の機能が制限されます。たとえば、標準関数の使用や「*」でのポインタ操作ができなくなります。しかし、かわりにどのような CLI 実装でも動作するプログラムが作成できます(ただし、特定の環境に依存したライブラリが使用されている場合はその限りではありません)。

あとはソースコードを追加し、ソースコードを記述するだけです。ここでは、コンソールに「Hello, World.」と表示するコードを.に示します。

using namespace System;

int main()
{
		Console::WriteLine("Hello, World.");

		Console::WriteLine("プログラムが終了しました。何かキーを押してください。");
		Console::ReadKey(true);
		
		return 0;
}
			

ソースコードを記述できたら、コンパイルして実行してみましょう。.のような表示が出れば成功です。

mono で実行

せっかくですから、本当にほかの CLI 実装でも動くのか試してみましょう。ここでは、Linux における CLI 実装として定評のある mono を試してみます。とは言っても、mono は Windows 版もあるので、今回は Windows 版 mono をインストールしてみることにします。

まずは mono の公式サイトのダウンロードページから「Windows Installer」をダウンロードしてきます。現時点での最新版は「Mono 1.2.2.1_0 Setup (Stable)」です。ダウンロードが終わったら、指示に従ってセットアップを完了してください。

Main Page - Mono http://www.mono-project.com/
mono の Download ページ http://www.mono-project.com/Downloads

インストールが完了すると、スタートメニューに mono のプログラムグループが登録されます。その中から「Mono-x.x.x.x Command Prompt」を実行.してみましょう。ここから起動されるコンソールは、mono を実行するのに必要なパス等の設定が完了していますので、すぐに mono を使って CLI プログラムを実行することができます。

mono でプログラムを実行するには、前述のコンソールで CLI プログラムがあるフォルダへ移動し、

> mono プログラムファイル

とコマンドを打つだけです。実行した様子は.のとおりです。本当に .net ではない環境で動いているのかどうかにわかに信じられない人は、.net framework がインストールされていないマシンや、Linux に mono をインストールして試してみると実感できるかもしれません。


読み込み中・・・
10秒待っても表示が変わらない場合、次の理由が考えられます。
・Javascript が無効になっています。
・検索エンジンのキャッシュを見ています。
サイトホームへ / 上位ページへ / ページトップへ / PAROFトレンドショッピングへ
Copyright (C) 2010 totobon all right reserved.