Ben Haskell sendfile
paketinde Bu kod parçasını bulduk:Haskell Yabancı İşlev Arabirimi'nde '#type' ne anlama geliyor?
-- sendfile64 gives LFS support
foreign import ccall unsafe "sendfile64" c_sendfile
:: Fd -> Fd -> Ptr (#type off64_t) -> (#type size_t) -> IO (#type ssize_t)
1) #type
ortalama ve ne yapar 2) bu hatayı alıyorum neden,
[1 of 1] Compiling Linux.Splice (splice.hs, splice.o)
splice.hs:40:12: parse error on input `type'
kendim aşağıdaki gibi kullanmaya çalıştığım zaman:
ghc --make splice.hs
splice.hs:
{-# LANGUAGE ForeignFunctionInterface #-}
module Linux.Splice where
import Data.Word
import System.Posix.Types
-- SPLICE
-- fcntl.h
-- ssize_t splice(
-- int fd_in,
-- loff_t* off_in,
-- int fd_out,
-- loff_t* off_out,
-- size_t len,
-- unsigned int flags
--);
foreign import ccall unsafe "fnctl.h splice" c_splice
:: Fd
-> Ptr (#type {- < parse error -} loff_t)
-> Fd
-> Ptr (#type loff_t)
-> (#type size_t)
-> Word
-> IO (#type ssize_t)
http://www.haskell.org/ghc/docs/latest/html/users_guide/hsc2hs.html – sdcvvc
Bu yabancı içeriğin ** "güvenli olmayan" olarak işaretlenmemesi gerektiğini belirtmeliyim. Yabancı bir işlev 'güvensiz' olarak işaretlendiğinde, diğer iş parçacıklarının çalışmasını engelleyebilir ("-dreaded" ile GHC ile derlenmiş bir programda). –
@JoeyAdams Oh Bunu işaret ettiğin için teşekkürler! Vekil sunucum için ağ soketlerinin boru eklemeleri cilalı bir uygulaması üzerinde çalışıyorum. Okuma/yazma döngülerinin yerine Linux'ta kullanmayı umduğum, şu an için diğer işletim sistemlerinde kullanmaya devam ediyorum. –