此問題可能與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