没有.NET框架的C#

没有.NET框架的C#,c#,programming-languages,native,jit,modern-languages,C#,Programming Languages,Native,Jit,Modern Languages,用像C#这样的现代跨平台编程语言编写具有API调用等功能的快速本机应用程序将非常棒,不是吗?例如,如果您想编写一个简单的实用程序来帮助IT人员安装东西,而不需要其他组件,用一种简单而现代的编程语言?或者,如果你想写一个3D游戏,它应该很快,而JIT只会让它变慢 为什么,为什么不可能?为什么这些东西没有本地的现代编程语言 有,C.C可以用来编写任何应用程序,永远 C#和.Net是本机代码。我想你误解了抖动。它不是虚拟机。一个C#程序在执行之前被编译成完全本机代码 现在,“需要其他组件”部分是一个问

用像C#这样的现代跨平台编程语言编写具有API调用等功能的快速本机应用程序将非常棒,不是吗?例如,如果您想编写一个简单的实用程序来帮助IT人员安装东西,而不需要其他组件,用一种简单而现代的编程语言?或者,如果你想写一个3D游戏,它应该很快,而JIT只会让它变慢


为什么,为什么不可能?为什么这些东西没有本地的现代编程语言

有,C.C可以用来编写任何应用程序,永远

C#和.Net是本机代码。我想你误解了抖动。它不是虚拟机。一个C#程序在执行之前被编译成完全本机代码


现在,“需要其他组件”部分是一个问题。不过,给点时间。现在,你很难找到一个没有至少.Net 2.0的windows安装,甚至一些主流linux发行版都包含了mono开箱即用的版本。

编译的.Net程序运行速度与C一样快。如果你想让它超精简,请为本机处理器编写汇编

您可以使用Microsoft NGEN.EXE工具创建.NET程序集的本机映像。 看见微软已经在考虑你在这里得到了什么


Microsoft还允许将多个程序集文件合并为一个。这可能也接近于优化和速度。

不要认为JIT会让事情变得更慢。JIT可以针对运行应用程序的确切计算机进行优化,而不是像386或奔腾这样的通用计算机。它甚至可以在生成代码时做出更好的速度/内存权衡决策,因为它确切地知道可用的内容。如果JIT仍然使事情变得更慢,那么您可以对它们进行加密,以便提前完成JIT


作为证明,考虑几次,在我的个人测试中,当地震在CLR上运行一半左右时,每秒帧速更快。

< P>作为一个旁注,MUNO已经完全提前编译,消除了运行时。(我想这就是他们在iPhone上运行的方式,iPhone禁止任何JIT。)

那么,这是否意味着我们可以使用(有限的.NET调用)完全编译C#程序并将其链接到一个独立的EXE中,而该EXE将在根本不安装.NET的情况下运行

仅供参考:通过检查约5000台服务器的服务器,发现约200台服务器甚至没有.NET2.0


这会导致必须在“所有Windows实例”上运行的代码出现问题。在.NET 4.0+不包括2.0的情况下,情况会变得更糟,因为新的和旧的Windows计算机可能都没有“正确的”。NET

XNA可以用来制作3D游戏,并使用C#。这将非常棒。事实上,这太棒了。你可以用C#编写很棒的3D游戏,你可以编写很棒的安装工具。那就去做吧!去吧,做个了不起的人!是的,它叫德尔福!!!是Borland Pascal/Delphi(在被M$收购之前)和C#的architech,我认为.NET JIT是一个虚拟机。抱歉,JIT是整个.net虚拟机的一部分。关键是代码没有被解释,而是动态编译成本机代码。您可能想看看它。那么如何编写第一个C编译器呢?;)第一个C++编译是用C++编写的;