我有一个简单的C例程,它接受四个单词并返回四个单词,gcc可以优化并发出一些GHC不支持的初始化.我正在尝试以各种方式调用此过程,并且无法尝试使用此处描述的技术foreign import prim.
以下是为每个输入单词添加1,但是段错误.
Main.hs:
{-# LANGUAGE GHCForeignImportPrim #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE UnboxedTuples #-}
{-# LANGUAGE UnliftedFFITypes #-}
import Foreign.C
import GHC.Prim
import GHC.Int
import GHC.Word
foreign import prim "sipRound"
sipRound_c# :: Word# -> Word# -> Word# -> Word# -> (# Word#, Word#, Word#, Word# #)
sipRound_c :: Word64 -> Word64 -> Word64 -> Word64 -> (Word64, Word64, Word64, Word64)
sipRound_c (W64# v0) (W64# v1) (W64# v2) (W64# v3) …Run Code Online (Sandbox Code Playgroud)