我对Haskell中的FFI有一些疑问
{-# LANGUAGE ForeignFunctionInterface #-}
,但当我使用{-# LANGUAGE CPP, ForeignFunctionInterface #-}
CPP可以"更多"做什么时,有什么区别struct
,如何在FFI中处理这个?CInt
什么时候Int
?CPP
语言扩展,则可以合法地将C预处理器语法包含在Haskell程序中.Storable
类型类来定义peek
和poke
对结构的每个字段的方法.该hsc2hs工具可以提供帮助.CInt
无论何时需要将Haskell传递给Int
C或从C 传递,都可以使用,因为这将确保发生任何所需的编组(同样的CDouble
,CString
等等).更多信息: