将 C# 编译为原生机器码_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 将 C# 编译为原生机器码

将 C# 编译为原生机器码

 2013/9/27 20:47:35  xuld  博客园  我要评论(0)
  • 摘要:C#用户似乎都希望C#可以和C++一样编译为本地的机器码。如果C#可以编译为机器码,将可以做到:1.效率提高,可以取代C++。2.反编译。当然微软在商业利益的考虑下是不允许这么做的。不过仍然有很多人在尝试这个艰巨的任务。完成C#转原生代码,可以认为是C#转C++代码。C#本身就是学习C++的,因此大部分语法都可以直接转为C++代码。主要问题为C#的运行库很难移植到C++。1.C++没有GC库。这个可以使用开源的GC库代替。2.C++没有动态类型加载器。这个可以自动生成一些静态方法来调用。3
  • 标签: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
 
上一篇: 腾讯手机管家首批进驻移动互联网应用白名单 下一篇: 没有下一篇了!
发表评论
用户名: 匿名