此问题可能与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
我正在尝试调用Rust的Win32 API CertOpenSystemsStoreW和CertCloseStore函数。当我这样做时,我在CertCloseStore上遇到访问冲突,所以我想我在某些参数类型上的大小错误,但我看不到它。 下面的Python代码的工作(我有相当的工作C++,但不是很好的包含): In [1]: import ctypes
In [2]: c32 = ctypes
我使用以下示例(例如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 *
c_strange_t是一个不透明的C类型,只能在指针后面看到。在封装这种类型时,有时我们有责任通过使用c_free_strange_t(*c_strange_t)来释放内存,有时我们不负责释放数据,我们只负责精确控制生命周期。 如果这种类型可以被映射到2种拉斯特以类似的方式工作,以str和String,那里是impl Deref<Target=str> for String这将是符合人体工程学。
我正在写一个Rust接口到a small C library,它有几个位置的标头。它不是一个系统库,通常由同一个包中的一些可执行文件使用;我目前在我的Cargo项目中将它作为git子模块加入。 建立图书馆似乎很容易;我选择使用从build.rs的gcc箱: gcc::Config::new()
.file("external/foo/dir1/file1.c")
.fi