相关疑难解决方法(0)

使用带有C函数的`foreign import prim`使用STG调用约定

我有一个简单的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)

c haskell ffi ghc segmentation-fault

4
推荐指数
1
解决办法
159
查看次数

标签 统计

c ×1

ffi ×1

ghc ×1

haskell ×1

segmentation-fault ×1