之前一文《c++的性能, c#的產(chǎn)能?!魚和熊掌可以兼得,.NET NATIVE初窺》 獲得很多朋友支持和鼓勵,也更讓我堅定做這項技術(shù)的推廣者,希望能讓更多的朋友了解這項技術(shù),于是先從官方信息的翻譯開始做起。
此系列系小九的學(xué)堂原創(chuàng)翻譯,翻譯自微軟官方開發(fā)向?qū)В还卜譃榱鶄€主題。本文是總覽及向?qū)?/strong>。之后會將目錄分塊持續(xù)進行翻譯,并會加上鏈接。
[小九的學(xué)堂,致力于以平凡的語言描述不平凡的技術(shù)。如要轉(zhuǎn)載,請注明來源:小九的學(xué)堂。VEVb.com/xfuture]
目錄
1..NETNative安裝和配置(.NET Native Setup and Configuration)
2. .NET Native 編譯入門:開發(fā)流程詳解 (Getting Started with .NET Native Code Compilation: The Developer Experience Walkthrough)
3. .NET Native 部署測試及樣例
4. .NET Native性能測試
5. .NET Native與反射
6. 將Windows應(yīng)用商店應(yīng)用遷移到.Net Native (Migrating Your Windows Store App to .NET Native)
7. .NET Native一般問題解答 Q&A (.NET Native General Troubleshooting)
原文:Compiling Apps with .NET Native
小貼士 |
|---|
這個主題依賴于預(yù)發(fā)行的.net native開發(fā)者預(yù)覽版。下載地址:Microsoft Connect website. 友情提示需要注冊. |
.net native是構(gòu)建和部署windows store apps(windows應(yīng)用商店應(yīng)用)時可使用的預(yù)編譯技術(shù)(注:據(jù)build2014大會信息,將來會逐漸支持桌面應(yīng)用)。它可以把在.net framework下寫出的托管代碼編譯成機器碼。
通常情況下, 在.NET環(huán)境下開發(fā)的應(yīng)用程序會被編譯成中間語言(IL)。在運行時,即時編譯(JIT)會將中間代碼編譯成機器碼。與此不同的是,.NET Native則直接將windows應(yīng)用商店程序編譯為機器碼。
對于開發(fā)者意味著:
你的應(yīng)用將擁有機器碼直接運行的卓越性能。
你可以繼續(xù)使用C#來進行開發(fā)。
你可以繼續(xù)獲得.NET Framework框架帶來的所有優(yōu)勢:強大的類庫,自動的內(nèi)存管理機制和垃圾回收,異常處理機制,等等。
對于使用者意味著:
運行更快更流暢
持續(xù)保持更快的啟動(注:啟動時間減少60%)
更低的部署和更新消耗
內(nèi)存優(yōu)化(注:內(nèi)存消耗減少20%)
.NET Native 涉及了多種編譯成機器碼的方法。它轉(zhuǎn)換了.NET Framework對于應(yīng)用的構(gòu)建和執(zhí)行機制。尤其是:
在預(yù)編譯的階段,將所需要的.NET Framework的部分靜態(tài)鏈接到應(yīng)用程序,這使用應(yīng)用程序可以在應(yīng)用程序自身包含的.NET Framework庫下, 編譯器可以進行全面分析并提供更高性能的運行狀態(tài)。這種帶來的好處是,即使.NET Framework更新了,應(yīng)用依然可以保持更快的速度來啟動。
.NET Native 通過靜態(tài)的預(yù)編譯優(yōu)化了應(yīng)用的運行時,因此可以提供更卓越的性能。與此同時,它保留了核心反射功能,提供給開發(fā)者優(yōu)秀的產(chǎn)能。
.NET Native 使用了和C++編譯器相同的后端, 對靜態(tài)編譯的場景進行了優(yōu)化。
.NET Native 能夠帶給在.NET Framework和CLR環(huán)境開發(fā)的人員C++的性能優(yōu)勢,因為它使用了和C++底層相同或者相似的工具,具體如下表所示:
.NET Native | C++ | |
|---|---|---|
庫 | The .NET Framework + Windows Runtime | Win32 + Windows Runtime |
編譯器 | UTC 優(yōu)化編譯器(UTC optimizing compiler) | UTC 優(yōu)化編譯器(UTC optimizing compiler) |
部署 | 隨時可以運行的二進制機器碼 | 隨時可以運行的二進制機器碼(匯編) |
運行 | MRT.dll (Minimal CLR Runtime) | CRT.dll (C Runtime) |
Windows 8.1 系統(tǒng)下Windows應(yīng)用商店應(yīng)用發(fā)行中,可以將在app包里(.appx files)的.NET Native編譯成的機器碼源文件上傳至Windows應(yīng)用商店。
此篇為引導(dǎo)篇,之后會有目錄分篇并會更新鏈接。 希望大家支持和多多評論,你們的支持是我繼續(xù)做下去的動力!新聞熱點
疑難解答