程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 將 C# 編譯為原生機器碼

將 C# 編譯為原生機器碼

編輯:C#入門知識

  C# 用戶似乎都希望 C# 可以和 C++ 一樣編譯為本地的機器碼。如果 C# 可以編譯為機器碼,將可以做到: 1. 效率提高,可以取代 C++ 。 2. 反編譯。   當然微軟在商業利益的考慮下是不允許這麼做的。   不過仍然有很多人在嘗試這個艱巨的任務。完成 C# 轉原生代碼,可以認為是 C# 轉 C++ 代碼。C# 本身就是學習 C++ 的,因此大部分語法都可以直接轉為 C++ 代碼。主要問題為 C# 的運行庫很難移植到 C++。 1. C++ 沒有 GC 庫。這個可以使用開源的 GC 庫代替。 2. C++ 沒有動態類型加載器。這個可以自動生成一些靜態方法來調用。 3. C++ 沒有 .net 其它工具庫。這個理論上可以先將微軟開源的 C# 開源庫編譯為 C++,然後直接調用。   因此理論上,C# 編譯為原生機器碼是完全可行的,不過這是一個很大的項目。   這是一個開源的 C# 轉 C++ 的項目。   http://makesharppwn.codeplex.com/   經過測試,它現在可以轉換部分代碼,還屬於玩具級別。       我相信一個開發效率高又能在性能上和 C++ 媲美的語言還是很有需求的。與其開發 C# 的編譯器還可能有版權問題。還不如自己創造一個和 C# 接近的新語言。

以下是我要做的新語言的目標,如果有意合作的請點擊:

https://github.com/xuld/Tea/wiki/Tea-%E8%AF%AD%E8%A8%80%E5%BC%80%E5%8F%91%E5%AF%BB%E5%90%88%E4%BD%9C
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved