LoginSignup
53

More than 5 years have passed since last update.

MacでC#のコードをコンパイルして実行する

Last updated at Posted at 2017-04-13

手元でちょっとしたC#プログラムを実行したい

最近のエディタは再生ボタンを押すだけで自動でコンパイルして実行までを行ってくれるので、手動でコンソールからコマンドを叩いてコンパイルすることの必要性はほとんどありませんが、学習のためにサンプルのクラスだけ作って実行結果を見たい時などは有用そうなので、手動コンパイル実行の手順をまとめてみました。

この記事はその記録になります。

DOS/Vとかの頃からプログラマだった人には当たり前すぎる内容かもしれません。
しかし、最近のゆとり開発環境に慣れきった自分は手動コンパイルをやったことがなかったので実際に試して見ました。

といってもMONOを使えば簡単にC#のコードをコンパイルして実行できました。

C#のコンパイラ(Mono)をインストール

Monoとは

Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースのソフトウェア、C#のコンパイラが含まれています

Mono, the open source development platform based on the .NET Framework, allows developers to build cross-platform applications with improved developer productivity.

C# Compiler - Mono’s C# compiler is feature complete for C# 1.0, 2.0, 3.0, 4.0 and 5.0 (ECMA). A good description of the feature of the various versions is available on Wikipedia.

インストール

公式のDownloadから.pkgファイルをダウンロードしてインストールする方法もありますが、Homebrewでもインストール可能です。ターミナルで下記のコマンドを実行してみてください。

Homebrewとは?
Mac OS Xオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システム

Terminal
$ brew install mono

MONOについて詳しく知りたい人

公式サイト

コードを書いて保存する

テキストエディタかvimコマンドなどでhello.csファイルを作成し、保存する

hello.cs
using System;
public class HelloWorld
{
    static public void Main ()
    {
        Console.WriteLine ("Hello Mono World");
    }
}

コンパイルと実行

hello.csを保存したディレクトリで下記を実行

Terminal
$ mcs hello.cs
#結果 -> [1]+  Done mcs hello.cs

$ mono hello.exe 
#結果 -> Hello Mono World

mcs:コンパイルコマンド
mono:実行コマンド

複数ファイルのコンパイル

ファイルが複数に分かれている場合はスペースで区切って並べて指定するか、*.csで一括指定出来ます。出力されるexeファイルの名前は-outオプションを使うことで変更可能です。
(フォルダが階層になっている場合とか外部ライブラリ使う場合どうすればいいかわかってません)

Terminal
$ mcs hello1.cs hello2.cs -out:hello.exe
$ mcs *.cs -out:hello.exe

参考にさせていただいたサイト

https://nkmk.github.io/blog/mac-c-sharp-compile/
http://qiita.com/omega999/items/6f65217b81ad3fffe7e6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
53