【问题标题】:How can I prevent recompiling when switching between ghci and ghc在 ghci 和 ghc 之间切换时如何防止重新编译
【发布时间】:2015-09-24 09:45:38
【问题描述】:

当我将 ghci 与 -fobject-code 和命令行 ghc 一起使用时,从一个切换到另一个时,代码会被完全编译。例如,当我在 Emacs 中使用配置为使用 cabal repl 的 haskell 低级模式进行交互工作时,代码加载和编译正常。然后我执行cabal build 并重新编译相同的代码。

假设 ghci 中的 -fobject-code 实际上使用与 ghc 相同的二进制格式,我该如何防止这种双重编译?

【问题讨论】:

  • 我不知道 ghc-mod,但是 GHC 默认将编译代码存储在源代码旁边,而 Cabal 将编译后的代码放在分发文件夹中......
  • 实际上,我谈论的是 ghc-mod,但我错了:我正在使用带有嵌入式 REPL 的 haskell-mode,它在后台使用 cabal repl
  • @insitu,请将更正编辑到问题中。

标签: haskell emacs ghc ghci


【解决方案1】:

您可以让ghci 和朋友对编译后的文件使用不同的后缀。将以下内容添加到您的~/.ghci

:set -hisuf i_hi
:set -osuf i_o

...ghci 将输出内容到foo.i_hifoo.i_o,不会覆盖ghc 的.hi.o 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    相关资源
    最近更新 更多