gpt4 book ai didi

ironpython - Iron Python/Iron Ruby EXE

转载 作者:行者123 更新时间:2023-12-04 12:38:36 26 4
gpt4 key购买 nike

我一直梦想从脚本语言创建一个“真正的 exe”。随着基于 DLR 的 Python 和 Ruby 实现可用,这是否更接近现实?

我想创建一个“真正的应用程序”:

  • 一个 Windows 窗体应用程序
  • 控制台应用程序
  • Windows 服务

  • 并让分发单元是一个已编译的 exe。

    这可能吗?还是 MS 刚刚创建了基于 .NET 的脚本文件解释器?

    如果您这样做,您将如何构建您的应用程序/项目?您使用的是 C# 和 DLR 代码的混合体吗?

    最佳答案

    IronPython 或 IronRuby 项目可以很好地编译为 dll 或可执行文件,并且在任何方面都是“真正的”可执行文件,但前提是运行它们的人必须安装相关的 .Net 框架和依赖项(依赖项可能存在于默认情况下相同的目录,但必须安装框架)。与 Visual Studio 的集成仍然不存在,但像 IronPythonStudio 这样的项目使用免费的 VS Shell 效果很好。 DLR 作为 VS 2010 中 c# dynamic 的依赖项的存在应该意味着与 Iron* 组的 VS 集成成为一个更容易的目标和更高的优先级。

    结果绝不会被解释(CIL 在运行时或在需要时通过 ngen 被编译成机器代码)并且 DLR 的某些方面意味着某些操作以类似于后期绑定(bind)的方式延迟,但更强大和更重要的是使用一些复杂的缓存机制与幼稚的口译员相比,这可以相对较快。

    许多传统解释的脚本语言正在创建自己的基于 VM 的编译策略或利用现有的编译策略(如 JVM、.Net CLR 或像 LLVM 这样的开放策略),因为这会在许多常见情况下显着提高性能。

    在 Iron* 语言的情况下,以 MS CLR 为基础的好处是,生成的可执行文件在最常见的 OS 系列的绝大多数安装中都可以“正常工作”。与在许多操作系统中通过 shell 直接单击/或“执行”而无法“运行” jar 文件的 Java 形成对比。与此相反的是,与基于 JVM 或 LLVM 的解决方案相比,这降低了互操作性,其中平台支持更广泛,但不可避免地在操作系统集成方面更加多样化。

    关于ironpython - Iron Python/Iron Ruby EXE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1014007/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com