测试 Mono 安装

测试 Mono 安装

为了测试核心编译器(mcs)和运行时(mono),应该创建一个简单的程序并编译它。可以在喜欢的任何文本编辑器中创建程序。这里采用一种快速而简陋的方法创建该文件(虽然没有任何格式化),从终端提示符中运行下列命令(都在一行中):

$ echo ‘class X { static void Main () { System.Console.Write("My first          mono app worked!\n");} }‘ > example.cs

该命令创建一个名为 example.cs 的 C# 源文件(也可从下面的 下载 部分下载该文件 example.cs 和可执行文件 example.exe。(注意,如果使用 Linux 可直接使用 bash 提示符,如果使用 Windows 则需要从开始菜单中调用 Mono 命令提示符。)

要测试编译器创建可执行文件的能力,可输入下面的命令:

$ mcs example.cs

这样将生成名为 example.exe 的二进制文件。要运行它来测试运行时,可使用该命令:

$ mono example.exe

如果一切正常,就会在控制台中看到“My first mono app worked!”字样。

图 1. 正常运行的结果

事实上,可以将得到的可执行文件复制到其他系统上,比如运行 Windows 的系统上,无需修改就可以执行。

使用非 Mono 库的代码

使用 Mono 平台更有说服力的原因是能够使用已有的、可能不属于 C# 库的 C# 代码。下面是这样的一个例子(也可以从下面的 下载 部分下载清单 2 PInvokeExample.cs 和可执行文件 PInvokeExample.exe)。

提供这种能力的机制是 Platform Invocation Facility(缩写为 pinvoke)。

清单 2. 使用 Platform Invocation Facility
/* Platform Invocation Facility Example
   This code is intended to illustrate P/Invoke.
   For out purposes we will access a c shared library.
*/
using System;
// This is a lot of the magic!
using System.Runtime.InteropServices;
/* Class illustrates pinvoking existing c library code */
public class PInvokeExample
{
   /* Notifying the runtime that we need an
          additional mathematics library, libm.so */
   [DllImport("libm")]
   /* Here we define the external function we will
           be using from the library,
           You must declare these methods to be static.
      The function signature you provide must match the
           signature in the external library!
   */
        static extern double sqrt ( double element );
   public static void Main ()
   {
      Console.WriteLine("The square root of 100.0 is {0}.", sqrt(100.0));
   }
}

从上述简化的代码中可以看出,只需要告诉 Mono 编译器使用什么库(在 DLLImport 一行中完成)并提供要使用的函数的原型。如果在 Linux 系统上编译这个类,控制台将显示正确的结果。

时间: 2024-10-18 23:16:53

测试 Mono 安装的相关文章

[转载]SharePoint 2013测试环境安装配置指南

软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注:安装之前,需要各个服务器的IP地址,机器名称设置好,并且已经加入到域中. 一 安装AD域控制器 1. 添加AD服务 a) 打开服务器管理器,选择[添加角色和功能] b) 在[开始之前]页面直接点击[下一步] c) 选择[基于角色或基于功能的安装]后,点击[下一步] d) 选择[从服务器池中选择服务器

【Linux探索之旅】第一部分第三课:测试并安装Ubuntu

内容简介 1.第一部分第三课:测试并安装Ubuntu 2.第一部分第四课预告:磁盘分区 测试并安装Ubuntu 大家好,经过前两个比较偏理论(是否想起了带着瓜皮帽,手拿折扇的老学究,或者腐儒)的课程,这第三课我们就正式进入实战啦. 可能不少朋友没使用过Linux这个操作系统,那么这一课就是见识一下它的庐山真面目的时候了. 我们这个系列课程所使用的Linux发行版是Ubuntu,因为其使用广泛,技术支持全面,文档完整,还有一个很关键的原因就是Ubuntu的配色偏"土豪金"啊,有木有,就是

node.js在win7下安装,并测试是否安装成功

1.node.js去官网下载,下载完,像平时安装软件一样 2.把下面的测试文件,放到安装目录下,本文是放到:D:\Program Files\nodejs下 var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.writ

siege压力测试工具安装和介绍

Siege是linux下的一个web系统的压力测试工具,支持多链接,支持get和post请求,可以对web系统进行多并发下持续请求的压力测试. 安装 Siege #wget http://www.joedog.org/pub/siege/siege-latest.tar.gz #tar -xzvf siege-latest.tar.gz #./configure; make #make install Siege命令常用参数 -c 200 指定并发数200 -r 5 指定测试的次数5 -f ur

利用docker搭建测试环境--安装

软件测试过程中,总会碰到测试环境不够用的尴尬情况.即时有了机器还要经历装系统,配置环境,调试等一系列繁琐的问题.虽然市面上也有一些批处理话的工具(如salt,fabric等),但是还是需要实体机器作为支撑,增大成本. 这里介绍一个可以用虚拟测试环境的软件docker http://baike.baidu.com/link?url=L2ViMZm7idMZRx3ymex14SITS99B9UZWSVF_gHtOxmRZH4tvXRObooRUICVewSXf-Rt5q0X4vb2KiZ5EQ6dm

ELK Stack最新版本测试一安装篇

版本 filebeat1.0.0-rc2  logstash2.0.0-1  elasticsearch2.0.0  kibana4.2 名词解释 Elasticsearch              存储索引 Kibana                       UI Kibana dashboard      可视化思维图 Logstash Input Beats plugin     收集事件 Elasticsearch output plugin       发送事务 Filebea

linux下jexus+mono安装

1. 更新系统(可忽略) yum –y update 2.安装Mono源码安装需要的库 yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel cairo-deve 提醒:在编译Libgdipl

karma测试框架安装、js压缩包安装 遇到的问题

因为最开始安装的时候,nodejs的目录是指向到C盘User目录下面的.所有的-g安装的包,也就全部都在那个目录下面了. 但通常情况下,新建项目都会随意放在其他盘里,于是基于这些包的安装,必须先引导到你的项目的目录下面去执行安装命令(npm install). 在安装完karma的时候(命令:npm install karma),一直提示:no provider for framework:jasmine... 错误.后台经人指点, 进行了karma的初始化(命令:karma init,然后一直

BTS渗透测试实验室----安装与实战

一.简介 BTS渗透测试实验室是一个开放源码的脆弱的Web应用程序,创建的网络安全和隐私的基础(www.cysecurity.org).它可以用来了解许多不同类型的Web应用程序漏洞. 目前,该应用程序包含以下类型的漏洞: ● SQL注入● XSS(包括Flash XSS)● CSRF● 点击劫持● SSRF● 文件包含● 执行代码● 不安全的直接对象引用● 不受限制的文件上传漏洞● 打开URL重定向● 服务器端包含(SSI)注入 二.安装与配置 首先下载源码,这里可以下载我汉化好的中文版:ht