【问题标题】:Staticlink vs standalone quirk with F#使用 F# 的静态链接与独立怪癖
【发布时间】:2011-04-12 05:47:10
【问题描述】:

在 vs2010 终极版中,如果您将 --standalone 标志交给项目窗格中的 f# 编译器,它不会将空 C# 项目与配置文件/资源​​文件链接

但是,如果您显式声明 --staticlink:Config,它将链接程序集

这感觉像是一个错误……如果是故意的,请问为什么会这样?

【问题讨论】:

    标签: compiler-construction f# linker


    【解决方案1】:

    这是预期的行为:

    • standalone 标志静态链接 FSharp.Core.dll(F# 运行时)和依赖它的任何引用程序集(即任何其他 F# 程序集)。它们需要链接,因为它们可能与主程序集共享某些类型(例如 F# list 类型等)

    • staticlink 标志链接您明确指定的任何程序集(以及依赖它的任何程序集)。这意味着您可以使用该选项来链接,例如,您的主要 F# 程序集引用的 C# 库。

    我认为这两种情况是分开处理的,因为内联 F# 运行时需要稍微特殊处理(几乎所有 F# 代码都以某种方式使用它,编译器可能会区别对待)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 2020-06-27
      • 2023-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多