我要做的就是将纯文本字符串从 Haskell 传递给 C。但是,它说 [Char] 是不可接受的返回类型。我在任何地方都找不到他们认为的原因,也找不到可接受的返回类型。
我正在尝试制作一个可以使用 Qemu 启动的非常简单的操作系统映像。
有谁知道如何做到这一点?谢谢。
{-# LANGUAGE ForeignFunctionInterface #-}
module Hello where
import Foreign
import Foreign.C.String
import Foreign.C.Types
hello :: String -> (CString -> IO a) -> IO a
hello = "Hello, world!"
foreign export ccall hello :: String -> (CString -> IO a) -> IO a