3

我有一个 Haskell 项目,其中包含我通过 FFI 访问的十几个 C 文件。我发现的所有文档都表明,为了在开发时使用 GHCi,我必须在命令行上使用 C 对象文件调用它。对于单个对象:

ghci dist/build/csrc/foo.o

或对他们所有人(因为他们都住在同一个文件夹中):

ghci dist/build/csrc/*.o

有没有更方便的方法可以做到这一点,例如使用.ghci

4

1 回答 1

2

我不知道执行此操作的特定于 ghc 的方式。写一个简短的shell脚本?

将其保存在repl与 .cabal 文件位于同一目录中的文件中:

#!/bin/sh
ghci dist/build/csrc/*.o "$@"

通过运行使其可执行

chmod a+x repl

然后,您可以通过运行加载所有 C 目标文件来启动 ghci

./repl

(这些特定说明假设您使用的是 Linux/BSD/Mac/Unix,但如果您使用的是 Windows,则同样的原理也适用。)

于 2013-03-02T09:32:43.353 回答