ffi

    0热度

    1回答

    此问题可能与this以及其他一些UnsatisfiedLinkError问题有关。 我试图运行下面的代码。 import jnr.ffi.LibraryLoader; import jnr.ffi.types.pid_t; /** * Gets the process ID of the current process, and that of its parent. */ publi

    3热度

    1回答

    这是我想在C代码做什么: #include <some_lib.h> int main() { some_lib_struct_t x; some_lib_func(&x); } 如何利用鲁斯特库的?下面是我到目前为止有: extern crate libc; struct some_lib_struct_t; #[link(name="some_lib")]

    2热度

    1回答

    我正在尝试调用Rust的Win32 API CertOpenSystemsStoreW和CertCloseStore函数。当我这样做时,我在CertCloseStore上遇到访问冲突,所以我想我在某些参数类型上的大小错误,但我看不到它。 下面的Python代码的工作(我有相当的工作C++,但不是很好的包含): In [1]: import ctypes In [2]: c32 = ctypes

    3热度

    1回答

    我想在Rust程序中使用命令行参数并将它们传递给C函数。但是,这些参数是可选的,如果没有参数提供,程序应该有不同的表现。我已阅读CString::as_ptr的文档,但我希望保留一个包含参数Option的本地变量(如果存在的话)将保持String不被释放,如下例所示。 此拉斯特代码: extern crate libc; use std::ffi::CString; extern "C"

    1热度

    1回答

    我写了一些简单的代码来调用C库中的函数。代码编译(以及类似的作品适用于标准的C库),但是当我编译和链接时,ghc找不到C库。我的小集团文件是: executable ttclient main-is: MainFFI4TT.hs build-depends: base default-language: Haskell2010 hs-source-dirs: src other-modu

    0热度

    1回答

    我使用以下示例(例如1或2)来构建数据结构,以使用GHC(8.0.2)中的FFI传递给C程序。 C文件tagger-api.h是: typedef struct { int number_of_words; /* number of words to be tagged */ int next_word; /* needed internally */ char *

    3热度

    1回答

    c_strange_t是一个不透明的C类型,只能在指针后面看到。在封装这种类型时,有时我们有责任通过使用c_free_strange_t(*c_strange_t)来释放内存,有时我们不负责释放数据,我们只负责精确控制生命周期。 如果这种类型可以被映射到2种拉斯特以类似的方式工作,以str和String,那里是impl Deref<Target=str> for String这将是符合人体工程学。

    1热度

    1回答

    我正在写一个Rust接口到a small C library,它有几个位置的标头。它不是一个系统库,通常由同一个包中的一些可执行文件使用;我目前在我的Cargo项目中将它作为git子模块加入。 建立图书馆似乎很容易;我选择使用从build.rs的gcc箱: gcc::Config::new() .file("external/foo/dir1/file1.c") .fi

    0热度

    1回答

    如果我有一些javascript json数据,我可以foreign import那个数据超过一个用户定义的newtype,但带有一个子集的实际数据吗?例如: 在JavaScript : exports.foo = {foo: "foo", bar: "bar"} 在purescript: newtype Foo = Foo {foo :: String} foreign import fo

    1热度

    1回答

    我在我的Rust应用程序中通过不同绑定层使用Objective-C函数。到目前为止,调用Objective-C函数和实现所需功能没有任何问题很简单。但是现在看来,我发现了一个我不知道如何解决的障碍,CoreGraphics中的一些功能需要几个常量才能正常工作。 所以问题是我怎样才能得到一个特定常数的实际值?例如,假设我想得到CGRectInfinite常量(CoreGraphics)的值,​​是否