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 {