compiler-construction - 使用 F# 的 Staticlink 与独立怪癖

标签 compiler-construction f# linker

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

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

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

最佳答案

这是预期的行为:

  • 独立 标志静态链接 FSharp.Core.dll (F# 运行时)和任何依赖于它的引用程序集(即任何其他 F# 程序集)。它们需要链接,因为它们可能与主程序集共享某些类型(例如 F# list 类型等)
  • 静态链接标志链接您明确指定的任何程序集(以及任何依赖于它的程序集)。这意味着您可以使用该选项链接,例如,您的主要 F# 程序集引用的 C# 库。

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

    关于compiler-construction - 使用 F# 的 Staticlink 与独立怪癖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5630902/

    相关文章:

    f# - 从 F# 中的控制台读取

    f# - 结合内存和尾递归

    javascript - Emscripten 可以将 LLVM 编译成 JavaScript 吗?

    python - Python 3.5 的语法是 LL(1) 吗?

    f# - Microsoft.FSharp.Text.ArgParser 在哪里?

    linux - 如何在 debian 系统上调试(慢速)链接器

    c++ - 链接器错误 - undefined reference

    c++ - C++ 应用程序中对 `WinMain@16' 的 undefined reference ,带有 Code::Blocks

    c# - 非抽象类中的抽象方法

    c# - 当两个方法在替换类型参数后具有相同的签名时,错误的重载将被覆盖