亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 編程設計 > 正文

Mono項目簡介

2023-05-20 20:23:34
字體:
來源:轉載
供稿:網友

Mono 是一個由Novell公司(由Ximian發起,并由Miguel de lcazaling dao的,一個致力于開創.NET在Linux上使用的開源工程。它包含了一個C#語言的編譯器,一個CLR的運行時,和一組類庫,并實現了 ADO.NET和ASP.NET。能夠使得開發人員在Linux用C#開發程序。)主持的項目.該項目的目標是創建一系列符合標準ECMA (Ecma-334和Ecma-335)的.Net 工具, 包括C #編譯器和公共語言(CL 即 Common Language)執行平臺(Platform).與微軟的.Net不同, Mono項目不僅可以運行于Windows系統內,還可以運行于Linux, FreeBSD, Unix, Mac OS X和Solaris.

Mono現由Novell持有雙重許可, Qt和這和Mozilla應用程序套件的情況相似.Mono的 C #編譯器及其相關工具發布于GNU General Public License (GPL)之下,其運行時庫發布于GNU Lesser General Public License (LGPL)之下,其類庫發布于MIT License之下.這些均是開源協議因此Mono是一個開源軟件.如果你打算向Mono貢獻你的源碼,則你須簽署一個版權分派給Novell以允許它將這些代碼在其它協議下再申請許可,從而允許Novell保留其雙重許可的能力來持有Mono的商業協議.

微軟開發了一個稱為共享源碼公共語言基礎(Shared Source Common Language Infrastructure, Shared Source CLI)的可用于FreeBSD, Windows Mac OS X的和. NET實現版本.微軟的共享源碼協議并不是開源軟件協議,且可能對于社區來說也是不足夠的(它明文禁止了對軟件的商業用途).我們還可以見到另外一個. NET實現版本, Portable.NET項目,該項目與Mono項目有著很多相同的目標.

Mono虛擬機包含一個實時編譯引擎,該引擎可用于如下處理器: x86, SPARC, PowerPC, ARM, S390 (32位模式和位模式64), x86-64, IA64和64位模式的SPARC.該虛擬機可以將代碼實時編譯或者預先編譯到原生代碼.對于那些沒有列出來的系統,則使用的是代碼解釋器.

歷史

Miguel de Icaza在. NET的文檔于2000年10月發布時就對. NET產生了興趣.在查看字節碼解釋器后,他發現對于元數據(metadata)沒有相應的說明文檔.2001年2月, deIcaza在. NET郵件列表中索要到了那段缺失了的關于元數據文件格式的信息,并開始了采用編寫一個C #編譯器的工作,作為對的實踐C #. 2001年4月ECMA公布了那段缺失的文件格式,而在GUADEC (2001年4月6日- 8月4日) deIcaza展示了他的編譯器的一些特性(那個時候他的編譯可以解釋自身).

Ximian內部對如何創建能有效提升生產效率的工具進行了大量的討論,他們的目標是通過這些創建出來的工具讓使用者可以在更短時間內創建出更多的應用程序從而縮短開發周期和降低開發成本.經過可行性研究后,他們清楚地見到創建這樣的一項技術是可行的,于是Ximian從其它的項目抽調人員并創建了的開發小組Mono.由于缺少人力來創建整個. NET替代產品,他們在2001年7月19日的O'Reilly大會創建了的開源項目Mono.

差不多三年后, Mono于2004年7月30日發布了1.0版本.

架構

? 類庫

類庫為應用程序開發提供一套廣泛而有效的工具類。這些工具類本是采用C#編寫的,但是由于.NET采用的公共語言運行時,它們可以用于任何.NET語言。類庫被按命名空間進行了結構化,并被放置于稱為程序集的共享庫中。在我們談到.NET framework時,我們多數是指這個類庫。

? 命名空間和程序集

命名空間是一種用于將邏輯上相似的類按層次結構分組的機制。這種機制防止了命名沖突。在這種結構化采用被點號"."分隔的單詞來實現。通常最頂層的命名空間是System,例如System.IO和System.Net(完整的命名空間列表可以在 Mono文檔中找到)。當然還有別的頂層命名空間,例如Accessibility和Windows就是這樣的例子。新建的命名空間還可以以開發組織的名字開頭。

程序集是這些類庫的物理載體。它們跟Win32共享庫一樣都是dll文件,盡管不完全一樣。一些程序集的例子有:mscorlib.dll,System.dll,System.Data.dll和Accessibility.dll。命名空間經常被分拆到幾個程序集中,而一個程序集可以由幾個文件組成。

? 公共語言基礎和公共語言規范

公共語言基礎(Common Language Infrastructure,CLI),又叫公共語言運行時(Common Language Runtime),已由Mono實現。該運行時用于執行已編譯的.NET應用程序。公共語言基礎已被ECMA定義為標準ECMA-335。要運行一個.NET應用程序,你必須使用相應的參數調用運行時。

在ECMA-335的第六章詳細說明了公共語言規范(Common Language Specification,CLS)并定義了提供給公共語言基礎的接口,例如對于枚舉類型的隱含表示類型的協定。 Mono的編譯器負責生成符合公共語言規范的映射代碼,即公共中間語言(Common Intermediate Language,CIL)。 Mono的運行時將運行這類代碼。 ECMA標準先前還定義了一個符合公共語言規范的程序庫作為應用框架。

? 托管與非托管代碼

在原生的.NET/Mono應用程序中,所有代碼都是托管的,也就是說,是受管于CLI式的內存管理和線程安全管理的。其它的.NET或Mono應用程序可以通過使用System.InterOpServices庫創建C#綁定來調用已存的非托管代碼。很多移植到Mono的類庫使用了CLI的這個特性,例如Gtk#。

? 相關項目

現有大量與Mono相關的用于擴展Mono的項目,這些項目允許開發者在他們的開發環境中使用 Mono。這些項目包括:

Cocoa#,對原生Mac OS X工具包的一系列包裝(Cocoa)。

Gecko#,一個對在Mozilla中使用的嵌入式布局引擎的綁定(Gecko).

Gtk#,對使用C的GTK+庫的C#的外包。

Tao,一個圖形及游戲庫的綁定。

Mono與微軟的專利

人們對于微軟能否采用專利摧毀Mono項目進行了大量的爭論。其實,專利問題不在于已被提交到 ECMA組織的核心技術或Unix/Gnome的專有部分,而在于由微軟基于.NET Framework創建的技術,例如ASP.NET,ADO.NET和Windows Forms。這些技術在Mono中至今還沒有被完全地實現,事實上,在開發Mono應用程序時也不需要用到,然而,在開發基于Windows平臺的程序時卻是不可缺少的。 Mono團隊將目標定為將這些技術納入到項目中,并制訂了一個三步走策略來處理它們:

采用其它實現方式來實現從而繞過專利問題

把包含專利的代碼清除出項目

找出“現有技術(prior art)”從而將專利變為非專利

顯然,第一個選項并不總是可行的。對于一些問題,例如那些與協同工作和交互相關的,可能就只有一種解決方案。由于這個相同的原因,盡管第一個選項總是可行的,它卻可能導致一個開發出來的產品并不能作為.NET的替代品。第三個選項則是昂貴的,甚至不可能的,這需要一定程度的運氣。

使用Mono開發的軟件

F-Spot photo management program

Muine music player以下是使用Mono API和C#編寫的部分程序:

Banshee是一個用于GNOME的音樂管理和播放軟件。

Beagle是一個桌面搜索軟件。

Blam!是一個RSS新聞聚集器,特別適合于閱讀如Planet Gnome這樣的行星資訊。

Bless是一個十六進制編輯器.

CDCollect是一個CD編目應用程序。

Diva是一個用于GNOME的視頻編輯器。

F-Spot是有個由Novell開發的圖片便捷管理程序。

Galaxium是一個MSN即時通訊軟件客戶端。

GLyrics是一個歌詞搜索器。

Gpremacy is an implementation of the board game Supremacy written in Mono/Gtk#.
iFolder 3 (by Novell) lets you share files across multiple computers and with other users through peer-to-peer or Novell's groupware server products.

imeem a social networking software. Mac client and servers run Mono while the Windows client uses Microsoft.NET.

MindFire是一個用于輔助速讀(speed reading)的跨平臺電子書閱讀器

MonoDevelop是一個用于創建Mono應用程序的集成開發環境。該軟件原先是 SharpDevelop向Gtk#的一個移植,而現今該軟件已獨立開發。該軟件在Windows上沒有可用版本。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品400部情侣激情| 国产伦精品一区二区三区精品视频| 国产91精品黑色丝袜高跟鞋| 亚洲成人xxx| 亚洲一区二区三区视频| www.午夜精品| 日韩av一区在线| 韩国三级日本三级少妇99| 日韩在线小视频| 亚洲精品欧美日韩专区| 亚洲第一区中文字幕| 国产精品99导航| 91精品国产乱码久久久久久蜜臀| 欧美日韩一区二区三区| 国产成人精品av在线| 中文字幕亚洲第一| 亚洲精选中文字幕| 久久视频国产精品免费视频在线| 88国产精品欧美一区二区三区| 亚洲欧美国产一本综合首页| 黑人欧美xxxx| 亚洲精品国产电影| 久久伊人精品一区二区三区| 国产精品自拍小视频| 日韩电影在线观看免费| 日韩中文字幕在线播放| 久久琪琪电影院| 亚洲成人激情在线观看| 久久精品国产欧美亚洲人人爽| 国产精品一久久香蕉国产线看观看| 国产亚洲日本欧美韩国| 欧美裸体xxxx极品少妇软件| 国产精品草莓在线免费观看| 欧美性猛交xxxxx水多| 欧美午夜女人视频在线| 欧美激情女人20p| 92裸体在线视频网站| 欧美裸身视频免费观看| 久久久久久国产精品久久| 亚洲第一福利视频| 欧美专区第一页| 亚洲男人av电影| 欧美有码在线视频| 超碰日本道色综合久久综合| 久久久精品视频成人| 91亚洲va在线va天堂va国| 欧美日韩国产精品一区二区不卡中文| 国产精彩精品视频| 亚洲精品久久久一区二区三区| 国产视频精品xxxx| 成人写真福利网| 国产成人精品一区| 亚洲精品国产电影| 久久精品视频中文字幕| 97超级碰碰碰久久久| 美女久久久久久久久久久| 日韩少妇与小伙激情| 欧美成人免费在线观看| 日韩电影大全免费观看2023年上| 亚洲一二在线观看| 欧美性感美女h网站在线观看免费| 日韩在线观看高清| 日韩成人久久久| 国产性色av一区二区| 亚洲天堂成人在线| 成人亚洲欧美一区二区三区| 在线观看日韩av| 国产专区欧美专区| 成人黄色大片在线免费观看| 亚洲精品有码在线| 5278欧美一区二区三区| 亚洲欧洲日本专区| 国产视频精品一区二区三区| 欧美xxxx18国产| 久久国产精品久久久久久| 中日韩午夜理伦电影免费| 久久色精品视频| 色视频www在线播放国产成人| 欧美在线免费视频| 日韩av在线一区| 亚洲黄一区二区| 亚洲欧洲国产伦综合| 欧美夫妻性生活xx| 欧美色另类天堂2015| 国产成+人+综合+亚洲欧美丁香花| 日本中文字幕久久看| 亚洲二区在线播放视频| 亚洲欧美福利视频| 91av在线视频观看| 色综合久久久久久中文网| 91免费国产网站| 精品呦交小u女在线| 成人亚洲欧美一区二区三区| 亚洲人成网站免费播放| 人人爽久久涩噜噜噜网站| 亚洲成色777777在线观看影院| 在线观看成人黄色| 成人黄色免费片| 日韩一级黄色av| 91精品视频在线播放| 欧美性jizz18性欧美| 日韩视频一区在线| 亚洲国产精品电影| 亚洲日韩中文字幕| 久久99久国产精品黄毛片入口| 国产成人精品久久二区二区| 欧美中文在线观看| 91精品久久久久久久久久久久久| 国产成人精品视频在线观看| 欧美中文字幕在线播放| 国产视频精品久久久| 国产精品一区二区久久国产| 青草热久免费精品视频| 国产视频精品自拍| 国产午夜精品视频| 日本一区二区三区四区视频| 91精品视频免费看| 国产成人+综合亚洲+天堂| 日韩中文字幕在线播放| 岛国精品视频在线播放| 成人在线观看视频网站| 国产精品自产拍高潮在线观看| 国产精品天天狠天天看| 亚洲成人aaa| 国产精品电影观看| 精品性高朝久久久久久久| 久热精品视频在线免费观看| 亚洲第一中文字幕在线观看| 色琪琪综合男人的天堂aⅴ视频| 国产97人人超碰caoprom| 亚洲精品久久久久久久久久久| 日韩精品免费在线视频观看| 国产精品电影在线观看| 亚洲欧美综合区自拍另类| 欧美性猛交xxxxx水多| 国产精品一区二区性色av| 91国自产精品中文字幕亚洲| 欧美激情高清视频| 亚洲天堂网站在线观看视频| 成人精品aaaa网站| 亚洲欧美自拍一区| 亚洲国产婷婷香蕉久久久久久| 性色av一区二区三区在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 精品性高朝久久久久久久| 国产成人在线亚洲欧美| 成人美女av在线直播| 欧美超级免费视 在线| 亚洲第一区在线观看| 欧美孕妇孕交黑巨大网站| 亚洲天堂色网站| 国产精品视频播放| 国产精品老女人精品视频| 国产精品久久久久久久9999| 亚洲精品电影久久久| 亚洲老司机av| 成人激情电影一区二区| 正在播放欧美一区| 精品高清美女精品国产区| 九九视频直播综合网| 欧美成人亚洲成人日韩成人| 一区二区三区高清国产| 95av在线视频| 亚洲第一页在线|