【Mono】C# + Mono + Linux 编程初体验之 HelloWorld

1. Mono  和 CLI 简介

          这里先介绍一下Mono项目,Mono是微软 CLI 规范的一种实现,类似的还有 .NET Framwark、Portable.NET(该项目已于2012.12月停止). CLI 是 Common Language Infrastructure(公共语言基础)的缩写,它规定了一语言虚拟机结构规范,这点类似于Java虚拟机,只要遵循该规范编写的代码均可以运行于该虚拟机之上,只要该虚拟机针对各个实现,那么我们编写的代码就可以“一次编写,处处执行”了, Mono就是 CLI 规范的一个跨平台实现。.NET Framwork 虽然也是 CLI 规范的一个实现(.NET Framwork 是一个技术集合,除了实现 CLI 其还包含其他技术),但是它只在Windows上实现了,如果微软愿意它也可以实现跨平台。

图 1  CLI 语言虚拟机

          其实理解Mono,可以类比 Java虚拟机。Java虚拟机(该虚拟机最初只为Java打造所以才叫Java虚拟机,跟Java语言应该分开看)就是一个语言虚拟机,它也有自己的一套规范,只要遵循Java虚拟机规范的语言编写的代码都可以跑在Java虚拟机之上, Java 语言就是遵循Java虚拟机规范的一种语言。CLI 一开始就野心比Java虚拟机大,因为它一开始就打算打造一个语言虚拟机平台,上面可以支持各种语言,而不是像Java虚拟机最初只是为了Java设计的,造成Java虚拟机许多地方考虑不周全。

       C# 语言是微软发展Java受限后提出的一种现代化编程语言,自然是汲取了前人的经验,就语言本身而言比Java要优秀,只是由于C#并没有微软提供的跨平台虚拟机的支持,所以刚出来那会只能在Windows上使用,而Windows上使用的比较多的是VC++、VB,造成C#语言使用不是很广(当然现在C#已经使用的广泛了,在编程语言排行上保持前五)。
      
      Mono项目的目标就是提供一个符合 CLI 规范的跨平台语言虚拟机实现,让更多的人可以使用C#在Linux、Mac OS等这些系统上编写程序了,获得 C# 和 CLI 所带来的巨大好处。

2. 搭建开发环境

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值