铁Python / Iron Ruby EXE
我一直有这样一个梦想,即用脚本语言创建一个“真正的exe”。 通过提供基于DLR的Python和Ruby实现,这是否更接近现实?
我想创建一个“真正的应用程序”:
并且分配的单位是编译的exe。
这可能吗? 或者MS已经创建了基于.NET的脚本文件解释器?
如果你这样做,你如何构建你的应用程序/项目? 您是否使用C#和DLR代码的混合?
IronPython或IronRuby项目可以编译为dll或可执行文件,并且在任何情况下都是“真实”的可执行文件,条件是运行它们的人员必须安装相关的.Net框架和依赖项(依赖关系可能存在于默认情况下是相同的目录,但是必须安装框架)。 与Visual Studio的集成仍然不存在,但像IronPythonStudio这样的项目使用免费VS Shell来取得良好效果。 在VS 2010中,DLR作为c#动态依赖项的存在意味着与Iron *组的VS集成成为更容易的目标和更高的优先级。
结果没有任何解释(CIL在运行时或通过ngen被分成机器代码,如果需要的话)和DLR的某些方面意味着一些动作被以类似于延迟绑定的方式推迟,但是对于一些复杂的缓存机制与朴素的口译员相比,这可以相对较快。
许多传统上解释的脚本语言正在创建他们自己的基于VM的编译策略,或者利用现有的(如JVM,.Net CLR或像LLVM这样的开放的),因为这会导致许多常见情况下性能的显着提高。
在Iron *语言的情况下,MS CLR的优势是基于最常见的OS系列绝大多数安装产生的可执行文件“Just Work”。 与Java相比,在许多操作系统中,通过直接单击/或“执行”shell,jar文件不是'可运行'的。 与此相反,这样做会降低互操作性,相比于基于JVM或LLVM的解决方案,平台支持更广泛,但操作系统集成中不可避免地存在更多不同。
您可以使用Py2Exe从常规python创建exe。 但是不应该有任何东西阻止你使用Visual Studio或SharpDevelop使用IronPython创建exes
虽然不直接与iron *问题有关,但对于想从python脚本执行二进制文件的人来说可能会很有趣:pyinstaller
适用于Windows(32位和64位),Linux(32位和64位)和Mac OS X(仅限32位)
在任何版本的Python下工作,从1.5到2.7
链接地址: http://www.djcxy.com/p/42743.html