我有一个Haskell项目,其中包含我通过FFI访问的几十个C文件。我发现的所有文档都表明,为了在开发时使用GHCi,我必须在命令行上使用C对象文件调用它。对于单个对象:
ghci dist/build/csrc/foo.o
或所有人(因为他们都住在同一个文件夹中):
ghci dist/build/csrc/*.o
没有更方便的方法,例如使用.ghci
?
答案 0 :(得分:2)
我不知道具体的ghc方式。写一个简短的shell脚本?
将此文件保存在与.cabal文件相同的目录中名为repl
的文件中:
#!/bin/sh
ghci dist/build/csrc/*.o "$@"
通过运行
使其可执行chmod a+x repl
然后你可以通过运行
加载所有C对象文件来启动ghci./repl
(这些具体说明假设您使用的是Linux / BSD / Mac / Unix,但如果您使用的是Windows,则相同的原则也适用。)