ffi

    7熱度

    1回答

    假設您正在使用stack構建工具來製作Haskell庫(從Hackage導入包等)要與其中main位於C/C++中的C/C++項目一起使用。 假設您的項目被命名爲Lib.hs(使用外部庫從hackage),有沒有使用堆棧導出方式你Lib.o,Lib.hi和Lib_stub.h要由C/C++編譯器像gcc或g++消耗? 編輯:一個相關的問題可能是:「怎麼能使用堆棧作爲構建工具,在其中main位於C/

    0熱度

    1回答

    假設我們有clojure功能(defn some-func ...)。我怎麼能從C中調用這個函數?

    0熱度

    1回答

    最近,我正在使用JavaScript中的C++函數,並且選擇了nodejs的ffi插件。但我不知道如何編寫JS中C++類構造函數的返回類型。 我的C++代碼看起來像這樣 //definition of a class class Rectangle { private: int width, height; public: Rectangle (int,

    4熱度

    1回答

    我有被編譯爲.so下面的C代碼: void (*vlog_startup_routines[])() = { hello_register, 0 }; 在鏽病,我可以#[no_mangle]聲明功能。我將如何公開一個叫做vlog_startup_routines的符號,它是一個包含函數指針的數組,也是零終止的?

    2熱度

    3回答

    我有函數指針的零終止陣列下面的C代碼: #include <stdio.h> void hello_register(void) { printf("hello_register called\n"); } void (*vlog_startup_routines[])() = { hello_register, 0 }; 此代碼被編譯並使用貨物構建腳

    3熱度

    1回答

    我試圖使用Ruby的FFI庫從bitcoin-core secp256k1 library鏈接功能。 爲了使secp256k1_ecdsa_sign函數可訪問,我使用autotools構建了libsecp256k1(如README.md中的指示)。然後我創建的共享對象通過運行在g++ -shared secp256k1/src/.libs/libsecp256k1_la-secp256k1.o F

    3熱度

    1回答

    我不確定何時使用&mut self而不僅僅是&self在libzmq C API的Rust綁定中。有點背景:libzmq提供了socket的「對象」,它有一個類似於BSD套接字API的API,並用C中的不透明指針表示。這個指針實際上只是一個句柄,類似於POSIX文件描述符,並且C API被設計爲使得它可能是而不是以獲得對該指針後面的存儲器的任何引用。 在這些情況下,它是安全和良好的API設計公開套

    2熱度

    1回答

    當我返回從我的C FFI功能i32數據,我使用的數據類型int32_t,它就像一個魅力。 C中Rust的f64數據類型的等價物是什麼?

    4熱度

    1回答

    我編譯了一個實現FFI作爲(.so)動態庫的Haskell源代碼包。我想調用OCaml中通過FFI導出的函數。爲此,我實現了一個簡單的驅動程序文件如下 open Quelea.Shim open Ctypes open PosixTypes open Foreign let readEffects = foreign "readEffects" (ptr char @-> pt

    2熱度

    1回答

    我正在與一些使用標準void* userdata方法的C回調進行交互,以允許您存儲對某些上下文(例如結構)的引用。如何在void*中存儲對鏽結構的引用,並仍然允許它移動?看起來Rust的動作真的是動作,即這個代碼失敗(如預期): struct Thing { pointer_to_self: *mut Thing, } fn create_thing() -> Thing {