Mono を使用して Raspberry Pi で C# プログラムを作成する方法


Raspberry Pi は完全な Linux ディストリビューションを実行できるため、開発ツールとしての可能性は計り知れません。 Pi は、C、C++、Java などの主流のコンパイル済み言語をサポートするだけでなく、Python、Perl、Lua などの一般的なスクリプト言語もサポートしています。 Pi は、Google の Go 言語や C# など、あまり知られていない (しかし同等に強力な) コンパイル済み言語を使用することもできます。 Raspberry Pi で後者を使用するのは、オープン ソースの Mono プロジェクトのおかげで簡単です。

Mono は、公開されている ECMA 標準に基づいて「.NET」互換プログラムを作成するために使用される一連のツール (C# コンパイラと共通言語ランタイムを含む) です。 基本的に、Linux で C# コードをコンパイルして実行でき、結果のバイナリは Microsoft.NET と完全に互換性があります。

Raspberry に Mono をインストールするには、次を使用します。

                
                  sudo
                
                
                  apt-get install
                
                 mono-complete
              

次のステップは、標準の「Hello World」プログラムをコンパイルすることです。 お気に入りのテキスト エディターを使用して、「hello.cs」というファイルを作成します。 nano で作成するには、次のように入力します。

                
                  nano
                
                 hello.cs
              

次のコードをカット アンド ペーストします。

                
                  using
                
                
                  System
                
                
                  ;
                
                
                  public
                
                
                  class
                
                 HelloWorld

                
                  {
                
                
                  static
                
                
                  public
                
                
                  void
                
                 Main 
                
                  (
                
                
                  )
                
                
                  {
                
                
        Console
                
                  .
                
                
                  WriteLine
                
                
                  (
                
                
                  "Hello Make Tech Easier"
                
                
                  )
                
                
                  ;
                
                
                  }
                
                
                  }
                
              

C# はオブジェクト指向言語です。つまり、すべてがクラス内で定義されます。 上記のコードは、「HelloWorld」というクラスを作成し、その中に「Main」という関数を定義しています。 Main() は、常に C# プログラムの開始点です。 「Console.WriteLine」は、テキストを端末 (コンソール) に出力します。

プログラム型をコンパイルするには:

                mcs hello.cs
              

これにより、現在のディレクトリに「hello.exe」というファイルが作成されます。 通常、Linux では、バイナリ ファイルは「.exe」拡張子を使用しません。これは、DOS および Windows に由来するものです。 「hello.exe」のファイル タイプを確認すると、実際にはインテルの実行可能ファイルであることがわかります。

                
                  file
                
                 hello.exe
              

mono-file-hello

出力は、「hello.exe」が、Intel プロセッサを使用して、Windows を搭載した PC で実行するために構築された Mono/.Net アセンブリであることを示しています。 しかし、ARM プロセッサを使用して Linux でコンパイルしました。

これは、.NET が共通言語ランタイムによって解釈される中間言語を実際に使用するためです。 .exe ファイルの先頭は、ランタイムを自動的に開始し、残りのプログラムを (中間コードとして) 実行できるようにする実際の Intel/Windows コードです。

ラズベリーでプログラムを起動する公式の方法は、「モノ」コマンドを使用することです。

                mono hello.exe
              

ご想像のとおり、ターミナルに「Hello Make Tech Easier」という出力が表示されます。 Mono からの出力は Windows とバイナリ互換であるため、「hello.exe」ファイルを Windows PC にコピーして直接実行できます。

GTK を使用して GUI プログラムを作成することもできます。 ただし、最初に Mono と GTK の間のバインディングをインストールする必要があります。

                
                  sudo
                
                
                  apt-get install
                
                 gtk-sharp2
              

次のコードを含む「hellogtk.cs」というファイルを作成します。

                
                  using
                
                
                  Gtk
                
                
                  ;
                
                
                  using
                
                
                  System
                
                
                  ;
                
                
                  class
                
                 Hello 
                
                  {
                
                
                  static
                
                
                  void
                
                 Main
                
                  (
                
                
                  )
                
                
                  {
                
                
                Application
                
                  .
                
                
                  Init
                
                
                  (
                
                
                  )
                
                
                  ;
                
                
 
                Window window 
                
                  =
                
                
                  new
                
                 Window 
                
                  (
                
                
                  "Hello MTE"
                
                
                  )
                
                
                  ;
                
                
                window
                
                  .
                
                
                  Show
                
                
                  (
                
                
                  )
                
                
                  ;
                
                
 
                Application
                
                  .
                
                
                  Run
                
                
                  (
                
                
                  )
                
                
                  ;
                
                
                  }
                
                
                  }
                
              

これは、新しいウィンドウを開く非常に単純な GTK プログラムです。 コンパイルするには、次のように入力します。

                mcs hellogtk.cs -pkg:gtk-sharp-
                
                  2.0
                
              

「pkg」フラグは、このプログラムが GTK ツールキットを使用する必要があることを Mono に伝えます。 「hellogtk.exe」を実行するには、デスクトップが Pi で実行されていることを確認する必要があります。 ファイル マネージャーまたはデスクトップから起動したターミナルから、バイナリを実行します。

mono-hellogtk

「Hello MTE」というタイトルの小さなウィンドウが開きます。 アプリは他に何もしませんが、C# を使用して Pi で GUI プログラムを作成できることを示しています。

Mono には、MonoDevelop として知られるクロスプラットフォームの IDE 姉妹プロジェクトがあります。 これらのプロジェクトにより、Linux、Windows、および Mac OSX でデスクトップおよび ASP.NET Web アプリケーションを簡単に作成できます。 Raspberry Pi でも利用できます。 インストールするには、ターミナルで次のように入力します。

                
                  sudo
                
                
                  apt-get install
                
                 monodevelop
              

mono-monodevelop

Mono の使用に行き詰まった場合は、プロジェクトのサポートページフォーラム、メーリング リスト、FAQ へのリンクがあります。 MonoDevelop には包括的な機能もありますドキュメンテーションそしてよくある質問ページ。

ニュースレターを購読する!

最新のチュートリアルが受信トレイに直接配信されます

すべてのニュースレターにサインアップしてください。

サインアップすることにより、あなたは当社のプライバシー ポリシーに同意し、ヨーロッパのユーザーはデータ転送ポリシーに同意したことになります。 お客様のデータを共有することはありません。いつでも購読を解除できます。

購読