通过ghc --make foo.hsGHC 编译haskell源文件时,总是留下除了以外的各种中间文件foo.exe.这些是foo.hi和foo.o.
我经常最终不得不删除.hi和.o文件以避免文件夹混乱.
GHC是否有命令行选项不留下其中间文件?(当被问到#haskell时,我得到的最佳答案是ghc --make foo.hs && rm foo.hi foo.o.
Mar*_*off 33
我已经浏览了GHC文档,并且似乎没有内置的方法来自动删除临时文件 - 毕竟,GHC需要那些中间文件来构建最终的可执行文件,以及它们的存在速度当GHC知道它不必重新编译模块时,整体编译.
但是,您可能会发现设置该-outputdir选项可以帮助您; 这会将所有目标文件(.o),接口文件(.hi)和FFI存根文件放在指定的目录中.它仍然"混乱",但至少它不再在你的工作目录中了.
Edw*_*ETT 15
我通常的工作流程是直接使用cabal而不是ghc.这会将outputdir选项设置为适当的构建文件夹,并且可以为您构建类似的haddock文档.您所需要的只是为您的项目定义.cabal文件,然后说cabal install或cabal build而不是直接运行ghc.因为如果你想分享你的hackage工作,最后你需要遵循这个过程,这是一个很好的做法,它也有助于管理包依赖.
| 归档时间: |
|
| 查看次数: |
6129 次 |
| 最近记录: |