全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1779
推到 Plurk!
推到 Facebook!

在 FreeBSD 上實作 .NET 程式

 
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-13 00:00:24 IP:218.175.xxx.xxx 未訂閱
妳有意在非微軟作業系統上開發.NET應用程式嗎?除了有許多團隊正 在開發各平台的.NET 實作,微軟也提供了包含了 Win32 與 FreeBSD 版的共享源碼 CLI(Common Language Infrastructure)實作,由於 該實作衍生自商業版本的 CLR(Common Language Runtime),同時 提供了原始程式碼,妳可藉此實作開發.NET 程式,並使用實作提供 的各項工具,熟悉.NET執行環境的底層運作。 ----- 內含超過 9000 個檔案與 1300 個公開類別,微軟的共享源碼 CLI 實作,可以讓妳藉由實作中提供的原始程式碼,了解.NET 通用語言 執行環境(CLR,Common Language Runtime)的底層運作,同時實作 提供了 Win32 與 FreeBSD 版本,即使妳不使用微軟作業系統,也可 以開發.NET 程式。 CLR 是.NET 中最重要的核心,除了記憶體與安全管理,CLR 更負責 建立托管碼環境(managed code environment),包括由中介形式載 入程式碼、托管碼執行等等。托管碼執行由 CLI 規格加以規範,規 格書定義了中介語言(IL)指令集、.NET 編譯組件(assemblies) 與描述資料(metadatas)。共享源碼 CLI 的程式碼基本上衍生自微 軟商業版本的 CLR,雖然 JIT 編譯器與記憶體回收較商業版本簡化 ,但 CLI 仍具備這些功能。 除了 Windows 相關技術之外,CLI 的執行引擎囊括了 CLR 的大部份 功能,譬如具版本審查功能的組合載入器、完整設定檔支援等,CLI 更幾乎包含 CLR 所有.NET 工具的源碼,例如完整的 C# 和 JScript 編譯器,與 ILASM、ILDASM、cordbg.exe、sn.exe、gacutil.exe、 al.exe、caspol.exe 和 peverify.exe 的移植版本,甚至還有除錯 與診斷工具的原始程式碼。 要使用這套 CLI,妳可以先至官方網站下載散佈套件,在編譯前先行 設定環境變數。實際使用 CLR 時,妳可以用內附的 C# 編譯器,或 者其它環境的編譯器,編譯妳的程式。為了在 CLI 環境下執行編譯 好的程式,妳必須使用套件內的 clix.exe 程式,對編譯組件執行記 憶體對應、載入程式庫並呼叫載入函式。 CLI 提供為數眾多的設定選項,開發者可透過環境變數和 ini 檔案 ,作為程式運行控制之用。其中對開發者最有幫助的,莫過於 log 輸出控制,開發者藉此選項能決定輸出何種訊息,在最高等級設定下 ,可輸出大量訊息,這些訊息有助於進行除錯程序。 CLI 用 ClassLoader 類別執行程式類別的型態確定與載入程序,如 果妳想要徹底了解托管碼執行過程,可以使用 BreakOnClassBuild 和 ShouldDumpOnClassLoad,將這兩個設定選項設定為妳想觀察的類 別名稱,當 ClassLoader 解析與載入這些類別時,系統會以對話盒 告知妳,或將類別載入細節輸出至 log 中。 類別載入後,將以中介語言形式存在,為了執行程式,執行環境會首 先必須執行 JIT 編譯器,把中介語言編譯成 x86 機器碼。CLI 和 CLR 一樣,只有當程式被物件方法被明確呼叫時,才會執行實際編譯 。JitHalt 和 JitBreak 設定,可以讓妳觀察被編譯的物件方法。 簡言之,由於商業版本的 CLR 並不提供原始碼給開發者,為了在 .NET 下寫出優良的程式,開發者有必要了解托管碼運作的細節,而 CLI 正好是這麼一套可以讓開發者,藉以探究.NET 執行環境底層的 工具。由於 CLI 提供源碼,加上其運作方式與 CLR 十分相似,開發 者大可以使用這套工具開發.NET 程式,並深入了解.NET 執行環境的 運作。 相關網址: 1.共享源碼 CLI 讓妳可以在 FreeBSD 上實作 .NET 程式 http://msdn.microsoft.com/msdnmag/issues/02/07/SharedSourceCLI/default.aspx 2.在 FreeBSD 上執行 .NET http://www.bsdforums.org/forums/showthread.php?threadid=8668
系統時間:2024-05-05 2:03:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!