ffi

    1

    1답변

    C 프로그램 컴파일 할 때 녹 컴파일 된 라이브러리에 링크 할 수 없습니다 : $ gcc -L . test.c -ltest C:\Users\...\AppData\Local\Temp\ccWuOBbj.o:test.c:(.text+0x16): undefined reference to `squared' collect2.exe: error: ld returned

    5

    1답변

    GHC's FFI을 사용하는 호출 규칙은 ccall과 capi입니다. 문서에는 두 가지 규칙에 대한 정보가 많지 않습니다. 그들 사이의 차이점은 무엇이며 언제 각각을 사용해야합니까? 하나가 다른 것보다 빠릅니까?

    1

    2답변

    나는 두 가지 다른 문제/버그 사이에 끼어 들고 괜찮은 해결책을 찾을 수 없습니다. 모든 도움을 크게 주시면 감사하겠습니다. 컨텍스트, FFI 및 많은 C 함수를 호출하고 C 유형을 녹 구조체로 래핑합니다. 첫 번째 문제는 ICE: this path should not cause illegal move입니다. 대신 간단한의 pub struct CassRes

    4

    1답변

    Prolog 및 C#을 처음 사용했습니다. 나는 C 번호와 프롤로그를 통합 할 때 나는 참조 SwiPlCs.dll를 추가했다 using System; using System.Collections.Generic; using System.Linq; using System.Text; using SbsSW.SwiPlCs; namespace Consol

    5

    2답변

    저는 C 인터페이스가있는 Rust에 라이브러리를 작성하고 있습니다. C 측에서 Rust 객체를 생성하고 파괴 할 수 있어야합니다 (C 측에서 소유하고 수명을 제어 함). 나는 C에 객체 "누출"을 관리했습니다,하지만 난 그것을 어떻게 제대로 무료 확실하지 않다 : pub extern "C" fn create() -> *mut Foo { let

    16

    2답변

    c_sleep이 다음 코드에서 즉시 반환되는 이유는 무엇입니까? {-# LANGUAGE ForeignFunctionInterface #-} import Foreign.C.Types import Data.Time.Clock import Control.Concurrent foreign import ccall unsafe "unistd.h sleep"

    0

    1답변

    안전하지 않은 FFI 계층을 래핑하는 중입니다. 아주 이상한 문제가 있습니다. (최신 야간) 방법 1과 2는 클러스터가 fn으로 전달되었는지 또는 내부에서 생성되었는지에만 다릅니다. 실행 : 방법 항목이 호출 여부 trying method 1 trying method 2 Illegal instruction , 방법 2는 항상 잘못된 명령이 실패합니다

    2

    1답변

    일부 기능이있는 공유 라이브러리가 있습니다. luajit을 사용하여 서명을 받아 액세스하려고합니다. 나는 libtest_c.so이 ->/usr/지방/lib에 루아 - 필요한>/usr/지방/빈 ("test_c") FUNC 물 : 표준 입력 : 1 : 발견 'test_c'되지 모듈 : no field package.preload['test_c'] no fil

    4

    1답변

    가, 내가 #[link(name = "jack")] extern "C" { pub fn jack_client_open(name: *const libc::c_char, options: JackOptions, status: &JackStatus) -> *mut JackClientT; } 를 사

    3

    1답변

    우선 Windows 10 64 비트 및 하스켈 플랫폼 8.0.1을 사용한다고 지정합니다. 다음 코드를 사용하여 Windows에서 Haskell의 FFI를 사용하려고합니다. import Control.Monad import Data.Char import Foreign.C getCh :: IO Char getCh = liftM (chr . fromEn