Haskell 将多个C对象文件加载到GHCi中

Haskell 将多个C对象文件加载到GHCi中,haskell,ghci,Haskell,Ghci,我有一个Haskell项目,其中包含我通过FFI访问的十几个C文件。我找到的所有文档都表明,为了在开发过程中使用GHCi,我必须在命令行上用C对象文件调用它。对于单个对象: ghci dist/build/csrc/foo.o 或者对于所有人(因为他们都生活在同一个文件夹中): 没有比这更方便的方法了吗,例如使用.ghci?我不知道ghc的具体方法。写一个简短的shell脚本 将其保存在与.cabal文件位于同一目录下的名为repl的文件中: #!/bin/sh ghci dist/build

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

ghci dist/build/csrc/foo.o
或者对于所有人(因为他们都生活在同一个文件夹中):


没有比这更方便的方法了吗,例如使用
.ghci

我不知道ghc的具体方法。写一个简短的shell脚本

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

#!/bin/sh
ghci dist/build/csrc/*.o "$@"
通过运行

chmod a+x repl
./repl
然后可以通过运行加载所有C对象文件来启动ghci

chmod a+x repl
./repl

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

是的,这是一种方法,然后我可以跳过使用
.ghci
,因为我可以在其中执行的所有操作都可以通过命令行完成,因此也可以在脚本中完成。