ffi

    4熱度

    1回答

    我想通過不讀取或修改該數據的C庫傳遞一些數據。 foreign import ccall "lua.h lua_pushlightuserdata" c_lua_pushlightuserdata :: LuaState -> Ptr a -> IO() foreign import ccall "lua.h lua_touserdata" c_lua_touserdata

    1熱度

    1回答

    我想根據下面的示例A添加一個列表框。 The Common Lisp Cookbook - Using the Win32 API 我添加了一個函數sendmessage,它映射到它的windows API計數器部分並從wndproc調用它。 但它抱怨像下面的類型轉換錯誤。 CL-USER 1 > (create-toplevel-window "ppp") Error: #<Pointer

    1熱度

    2回答

    是否有一個工具可以從項目jnr-ffi的頭文件生成java代碼。我該如何爲C項目提供一個API, 1200個功能。

    6熱度

    3回答

    我正在使用大量使用sun.misc.Unsafe的Java編寫一些FFI代碼。 在Java 9中,此類將無法訪問,並且將變爲jdk.unsupported.Unsafe。我想寫我的代碼,以便它現在可以工作,但繼續在Java 9中工作。 什麼是最簡單的方法來做到這一點?我更喜歡二進制兼容性,但源代碼兼容性也不錯。 編輯:我每次調用Unsafe時都會使用反射 - 甚至是虛擬調度 - 都不會100%。這

    4熱度

    2回答

    我想返回一個向量在pub extern "C" fn。由於載體具有任意長度,我想我需要與 的指針向量返回struct和 元件的載體中的數 我目前的代碼是: extern crate libc; use self::libc::{size_t, int32_t, int64_t}; // struct to represent an array and its size #[repr(C)]

    0熱度

    1回答

    我構建了f :: Ptr Int -> IO (Int)類型的函數。 當我通過f某些指針p,然後嘗試到free p,我得到一個核心轉儲。 我的結論是,Haskell通過引用傳遞指針,並在函數返回值後自動刪除它們! 問題:當f通過p,它是通過值還是通過引用來實現? Haskell在函數返回時刪除p?

    1熱度

    2回答

    的read函數的定義是這樣的: #include <unistd.h> ssize_t read(int fd, void *buf, size_t len) 我想寫一個Haskell FFI這一點。這是我嘗試(不編譯): foreign import ccall unsafe "read" c_read :: CInt -> Ptr() -> CSize -> IO CSsize r

    5熱度

    1回答

    mexPrintf,就像printf一樣,接受參數的可變參數列表。我不知道什麼是最好的方式來包裝在Rust。有一個RFC for variadic generics,但我們今天能做什麼? 在這個例子中,我想打印輸入和輸出的數量,但是打包函數只是打印垃圾。任何想法如何解決這個問題? #![allow(non_snake_case)] #![allow(unused_variables)]

    3熱度

    1回答

    什麼是最小的Makefile或cargo/rustc + cc調用靜態鏈接彼此依賴的Rust和C源?像這樣(改編自alexcrichton/rust-ffi-examples),這是類似於example in the Rust docs: 的main.c struct contrived { double x; double y; } double GLOBAL_CONSTANT = 100;

    1熱度

    1回答

    我正在與一些舊的C++代碼鏈接的Haskell程序。我創建了一個C接口,並且只使用了ghc。現在我試圖將使用過的Makefile轉換爲Cabal項目,現在在最後一步選擇錯誤的鏈接器。 由於一些依賴關係,我必須使用一個相當古老的ghc和gcc。所以我在做什麼在呼喚陰謀像這樣(1.24.0.0): cabal install --with-ghc=ghc-7.6.3 --with-gcc=/opt/g