ffi相关内容
如何才能仅获取实体驱动器的所有装入点的列表?我看到这里有类似的答案,但它列出了包括网络共享在内的所有装入点。 How can I get a listing of all drives on Windows using golang? 推荐答案 好了,我已决定重拾Win32API编程技能并准备解决方案。 基于the thread you referred to中的LAME方
..
我正在构建一个颤动项目,在单个项目中集成Web和移动代码时遇到了一个问题。我想在我的移动代码中使用Moor和Moor_FFI,但即使我的Web(main.dart)和移动代码(main.dev.dart)的入口点被配置为不同于调试,它仍然尝试为Web编译移动代码。这会导致问题,因为Ffltter Web目前不支持FFI和其他DART插件,从而导致大量错误消息。 Error compiling
..
我已更新我的Mac以使用Catalina,但现在尝试安装Jekyll时遇到各种问题。 这是我在运行常见的咕噜声设置时得到的结果: Running "jekyll:dist" (jekyll) task >> Error: Command failed: bundle exec jekyll -v >> bundler: command not found: jekyll >> Inst
..
由于ffi问题,在M1 MacBook上运行‘pod install’失败,如here所述。 我遵循了一些解决方法(我想我以不同的顺序尝试了所有解决方法),但现在得到的错误略有不同: LoadError - dlopen(/opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle, 9): no suitable
..
..
我的问题很简单,但我不知道最好的方法(或者 Julia 目前不提供这种方法):如何从 Julia 设置 C 结构的字段值? 假设您有一个结构类型来表示 C 库中树的节点: typedef struct node_s{整数类型;node_t* 下一个;node_t* 孩子;node_t* 父节点;} 节点_t; 并将其复制到 Julia 中: 不可变的node_t类型::Cint下一个:
..
我在尝试安装 ffi gem 时遇到错误: ~ - 16:54>gem i ffi构建原生扩展.这可能需要一段时间...错误:安装 ffi 时出错:错误:无法构建 gem 原生扩展.耙 RUBYARCHDIR=/home/mdemare/.rvm/gems/ruby-1.9.2-p136/gems/ffi-1.0.6/lib RUBYLIBDIR=/home/mdemare/.rvm/gems/
..
安装了 DevKit 并重新运行了 ffi 安装……将其作为输出: C:\Documents and Settings\******>gem install ffi暂时增强 PATH 以包含 DevKit...构建原生扩展.这可能需要一段时间...错误:安装 ffi 时出错:错误:无法构建 gem 原生扩展.C:/Ruby192/bin/ruby.exe extconf.rb检查 ffi.h..
..
我正在围绕 C API 创建一个 Rust 包装器.此 C API 中的一个函数设置回调并接受将传递给回调的 void 指针.它存储对回调和用户数据的引用以供以后使用,因此我使用 this answer 中的最后一个代码部分. 这是我的代码.Test::trigger_callback(...) 函数旨在模拟调用回调的 C 库. extern crate libc;使用 libc::c_v
..
我正在编写一些代码来连接用 C 编写的现有库.在我的 Rust 代码中,我希望能够使用来自 CPP 宏的值.如果我有一个如下所示的 C include.h: #define INIT_FLAG 0x00000001 我希望能够像这样在 Rust 中使用它: #[link(name="mylib")]外部{发布静态 init_flag: c_int = INIT_FLAG;} 我查看了其他
..
由于这是我第一次学习系统编程,我很难理解规则.现在,我对内存泄漏感到困惑.让我们考虑一个例子.比如说,Rust 正在抛出一个指针(指向一个字符串),Python 会捕捉到这个指针. 在 Rust 中,(我只是发送 CString 的指针) 使用 std::ffi::CString;pub extern fn do_something() ->*const c_char {CString::
..
我正在 Rust 中使用 WinAPI,并且有一些功能(例如 EnumWindows()) 需要回调.回调通常接受一个额外的参数(LPARAM 类型,它是 i64 的别名),您可以使用它向回调传递一些自定义数据. 我已将 Vec 对象作为 LPARAM 发送到 WinAPI 回调,并且运行良好.例如,在我的情况下,将 lparam 值“解包"到 Vec 看起来像这样: unsafe ext
..
这是 C API 的样子 void mosquitto_connect_callback_set(struct mosquitto *mosq, void (*on_connect)(struct mosquitto *, void *, int)); rust-bindgen 为我生成了这个 pub fn mosquitto_connect_callback_set(mosq: *mut
..
在 讨论/学习从 Rust 调用 Windows-API 的 FFI 的正确方法,我进一步研究了它,并想再次检查我的理解. 我有一个被调用两次的 Windows API.在第一次调用中,它返回实际输出参数所需的缓冲区大小.然后,使用足够大小的缓冲区再次调用它.我目前使用 Vec 作为这个缓冲区的数据类型(见下面的例子). 代码有效,但我想知道这是否是正确的方法,或者使用像 alloc:
..
我正在尝试获取 C 库返回的 C 字符串,并通过 FFI 将其转换为 Rust 字符串. mylib.c const char* hello(){return "Hello World!";} main.rs #![feature(link_args)]extern crate libc;使用 libc::c_char;#[link_args = "-L . -I . -lmyli
..
我正在尝试为一段 C API 编写一个 Rusty 包装器.有一个 C 结构我很挣扎: typedef bool (*listener_t) (int, int);bool do_it(int x1, int y1, int x2, int y2, listener_t 监听器) 除非侦听器返回 false,否则该函数会针对一系列数字执行其工作.在这种情况下,它会中止计算.我想要一个像这样的
..
假设有一个以某种方式存储的参数列表,例如在一个数组中. 给定一个函数指针,我如何通过存储的参数列表调用它? 我不想将数组作为参数传递,好吧.你明白了,好吗?我想将它的每个元素作为参数传递.数组只是为了说明,我可以将参数存储在某个元组结构中.另外,看看我手头有一个函数指针并且可能有一个字符串格式的签名.我不是要定义一个能够处理可变参数列表的函数. 我看到如何做到这一点的唯一方法是使
..
我想使用 Python 中的一些 Haskell 库(例如 Darcs、Pandoc),但在 Python 中似乎没有直接与 Haskell 的外部函数接口.有没有办法做到这一点? 解决方案 只要你能让你的 Python 代码调用 C,你就可以调用通过 导出的 Haskell 函数.haskell.org/haskellwiki/FFI_Introduction" rel="norefer
..
我正在尝试对 Rails 应用程序执行 bundle update,但出现以下错误: 使用本机扩展安装 ffi (1.0.11) 不幸的是,发生了致命错误.请将此错误报告给位于 https://github.com/carlhuda/bundler/issues 的 Bundler 问题跟踪器,以便我们修复它.谢谢!/Users/Kyle/.rvm/rubies/ruby-1.9.3-p125/
..
哦,我是个傻瓜.我只是在调用函数时省略了第二个和第三个参数.像个傻瓜.因为这就是我.原来的愚蠢问题如下: 这个好像应该是很常见的事情了,但是找不到相关教程,对Numpy和ctypes太无知了自己想办法. 我在文件 ctest.c 中有一个 C 函数. #include void cfun(const void * indatav, int rowcount, int colcount
..