zoukankan      html  css  js  c++  java
  • [转]Linux操作系统下 MONO执行C#程序的方法

    http://linux.ccidnet.com/art/302/20071010/1236325_1.html 

    第一步 环境(UBUNTU系统下)

    sudo apt-get install mono-gmcs mono

    第二步 建立example.cs

    class X {

    static void Main () {

    System.Console.Write("My first mono app worked!\n");

    }

    }

    第三步 编译

    gmcs example.cs

    第四步 执行

    ./example.exe

    在Linux中使用C#(Fedora系统下)

    当微软启动它的.NET战略时,其中的一个目标就是让所制作的软件运行在多种不同的平台上。

    Mono,一个开源项目,能使.NET能在您的Linux操作系统上运行。

    如果你和我一样,既用Microsoft的技术工作,也喜欢用Linux工作,那么这个Mono就能帮助你我,你可以在这两个平台上都可以写C#程序。

    到www.go-mono.com 下载Mono的最新安装包。我看了一下,在我写这篇文章时,该官方网上最新的Stable版本时Mono 1.1.13.8 。

    在安装Mono前,你必须确定你是否有GIMP Toolkit,Drawing Kit和pkg-config。你可以在rpmfind.net上下载它们。建议下载最新的版本,如果你的Linux上原有了这些软件,你也可能需要升级它们。

    下面安装这些软件:

    # rpm -Uvh glib2-2.0.0-1.i386.rpm

    # rpm -Uvh glib2-devel-2.0.0-1.i386.rpm

    # rpm -Uvh pkgconfig-0.12.0-1.i386.rpm

    接下来就是解压Mono:

    # tar -zxvf mono-1.1.13.8.tar.gz

    接下来:

    # ./configure

    # make

    # make install

    当上面的都完成后,你的Linux系统就有了一个可以工作的Mono,它包括了Mono的C#编译器,Mono的即时编译器和mint(The Mono interpreter)。下面就可以写C#程序了。比如,嘿嘿,写个最有名的Hellow World程序:

    class Hello {

    static void Main() {

    System.Console.WriteLine("Hello World");

    }

    }

    呵呵,果然是经典。C#程序必须以.cs做后缀名。输入程序并保存它,比如保存为HelloWorld.cs然后编译它:

    # mcs Hello.cs

    如果你写的程序都正确,那么这个命令会生成一个名叫HelloWorld.exe的MSIL文件,然后你就可以使用这个文件:

    # mint HelloWorld.exe

    Hello World

    mint interprter有很多可以选择的命令包括 --trace 和 --debug,这些对调试很有作用。当你的程序已经完成了,你可以在JIT编译器上编译了:

    # mono HelloWorld.exe

    Hello World

    公共语言运行库提供了跨平台的能力。.NET程序可以在任何安装了CLR的系统上运行。实际上,Mono的C#编译器是在Windows平台上用 Microsoft .NET Framework SDK编译后再移到Linux平台上的。你可以把在Windows平台上编译好的程序转到Linux上并运行它。

    Mono还没有完全实现.NET Framework,但已经足够让你运行你想写的程序了。开源的东西一般进化速度很快,也许很快就能完全满足你的需求。

    顺便提一下,在gtk-sharp.sourceforge.net上有个Gtk# 项目,它致力于给C#语言绑定gtk+ toolkit。它同时也致力于在Mono下提供和Windows.Forms兼容的库。当然,从Windows迁移到Linux毕竟是有困难的,让我们 关注它的进展吧。

  • 相关阅读:
    自定义组件要加@click方法
    绑定样式
    647. Palindromic Substrings
    215. Kth Largest Element in an Array
    448. Find All Numbers Disappeared in an Array
    287. Find the Duplicate Number
    283. Move Zeroes
    234. Palindrome Linked List
    202. Happy Number
    217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/WuCountry/p/921854.html
Copyright © 2011-2022 走看看