在ghci和ghc之间切换时如何防止重新编译
How can I prevent recompiling when switching between ghci and ghc
当我同时使用带有 -fobject-code
的 ghci 和命令行 ghc 时,从一个切换到另一个时代码会被完全编译。例如,当我在 Emacs 中使用配置为使用 cabal repl
的 haskell 劣质模式进行交互式工作时,代码加载和编译都很好。然后我执行 cabal build
并重新编译相同的代码。
假设 ghci 中的 -fobject-code
实际上使用与 ghc 相同类型的二进制格式,我如何防止这种双重编译?
你可以让ghci
和朋友们对编译后的文件使用不同的后缀。将以下内容添加到您的 ~/.ghci
:
:set -hisuf i_hi
:set -osuf i_o
...ghci 会将内容输出到 foo.i_hi
和 foo.i_o
,这不会覆盖 ghc 的 .hi
和 .o
文件。
当我同时使用带有 -fobject-code
的 ghci 和命令行 ghc 时,从一个切换到另一个时代码会被完全编译。例如,当我在 Emacs 中使用配置为使用 cabal repl
的 haskell 劣质模式进行交互式工作时,代码加载和编译都很好。然后我执行 cabal build
并重新编译相同的代码。
假设 ghci 中的 -fobject-code
实际上使用与 ghc 相同类型的二进制格式,我如何防止这种双重编译?
你可以让ghci
和朋友们对编译后的文件使用不同的后缀。将以下内容添加到您的 ~/.ghci
:
:set -hisuf i_hi
:set -osuf i_o
...ghci 会将内容输出到 foo.i_hi
和 foo.i_o
,这不会覆盖 ghc 的 .hi
和 .o
文件。