ffi 相关问题

外部函数接口(FFI)是一种语言与用另一种语言编写的软件交互的机制。

跨越 FFI 边界会有 16% 的性能损失

我一直在致力于一个结合 Rust 和 C++ 的项目。我有一个运行大约 30 毫秒的 C++ 函数。现在,当我从 Rust 调用它时,调用该函数至少需要 35 毫秒。 以下是片段

回答 1 投票 0

我应该使用 libc::c_char 还是 std::os::raw::c_char?

我正在为 Rust 编写一个 FFI 包装器。我已经看到了 libc::c_char 和 std::os::raw::c_char 的用法。我对 C 的了解非常少,我想知道是否有什么区别。我应该用什么...

回答 3 投票 0

如何通过共享库实现不同编程语言之间的相互调用?

最近我对Apache如何支持Python WSGI很感兴趣。经过研究,我发现有一个mod_python模块,它是一个用C编写的共享库。此外,我还

回答 1 投票 0

使用Bun FFI的C SDK失败,但使用具有相同逻辑的SDK的常规C脚本成功

我有一个示例 C 脚本,它使用 Microsoft Speech C SDK 成功检测音频文件中的关键字。我对 C 有点陌生,所以我花了一些时间来制作这个工作示例(特别是......

回答 1 投票 0

Rust:如何将 &cstr 转换为字符串并用 ffi 返回?

我正在尝试获取 C 库返回的 C 字符串 (&cstr),并通过 FFI 将其转换为 Rust 字符串。 mylib.c 常量字符*你好(){ 返回“你好世界!”; } 主程序.rs #![特征(林...

回答 2 投票 0

在 Rust 中通过 FFI 传递堆分配的内存时“地址访问受保护”

我目前正在尝试将 MuJoCo 物理引擎与 Rust 一起使用。目前,我正在尝试获取虚拟文件系统,为此,我使用 mj_defaultVFS 函数来获取 Mu 的句柄...

回答 1 投票 0

如何使用 FFI 读取一堆 C 字符串?

我正在使用 Rust 处理的页面中有一个可变宽度数据块。 该块表示一堆以 null 结尾的 C 字符串。我在这个堆中有偏移量,代表起始位置

回答 1 投票 0

Chez 计划 FFI 程序在更改为 Apple Silicon 后不起作用

我一直在ChezScheme中使用一段简单的FFI代码 获取程序正在运行的终端仿真器的行数和列数。该程序在运行时有效...

回答 1 投票 0

无法安装 Lua/LuaJIT 的 FFI 库

我已经正确安装了 Lua、LuaJIT 和 Luarocks(我也可以在终端中运行它们,没有任何错误)。我正在尝试运行命令 luarocks install luaffi 但它正在返回...

回答 2 投票 0

是否可以将字节向量传递给C函数而不在SBCL中复制

我正在尝试使用其 FFI 工具从 SBCL 调用 C 函数。 C 函数需要字节缓冲区(无符号字符)并处理字节数据。不幸的是,在大多数情况下,缓冲区相当......

回答 2 投票 0

rust 中的库插件管理器,现在可行吗?

这里是铁锈菜鸟:) 我在想我的想法是否可以实现: 完全支持异步 Rust 的动态库插件管理器。 实现分为 3 个主要部分(github 存储库):...

回答 1 投票 0

如何使用外部函数和内存 API 从 Java 获取 C++ 结构体返回值

当我尝试在 C++ 中获取结构体返回值时,我无法解析结构体中的值。 这是我的结构。 结构点{ 整数x; 整数y; }; 这是我的C++方法 点 test_point(点

回答 1 投票 0

如何在 ruby 中使用 FFI::Library 卸载或指定二进制 .so 库?

我有一个ethon gem,可以按行加载libcurl库: ffi_lib_flags :现在,:全局 ffi_lib ['ibcurl.so', 'libcurl.so.4'] 扩展 Ethon::Curls::Functions # 它附加来自 libcurl 的函数 我...

回答 1 投票 0

使用bun:ffi读取复杂的返回类型

我正在使用 ffi 功能,并希望扩展记录的 add 示例,以便它返回复杂类型(如结构)。 这是我的 Rust 代码: #[代表(C)] pub 结构 SimResult { ...

回答 1 投票 0

如何使用 dart ffi 将回调传递给 win32 函数?

我正在尝试将我的 MIDI 设备连接到 Windows 上运行的 Flutter 应用程序。我正在使用 win32 和 dart ffi。我有以下内容: 最终指针 hMidiDevice = malloc(); 指针<

回答 1 投票 0

在 cxx 桥中包含 impl 块

我正在尝试使用 cxx 桥从 C++ 调用 rust 库,但遇到了他们在演示代码中没有提到的 impl 块。 例如,当我尝试包含 impl C ...

回答 1 投票 0

如何将通过引用传递的变量从 C# 更改为 Rust?

我想通过引用 Rust 传递变量,因此每次调用函数时都不会复制它。到目前为止我的代码: #[no_mangle] pub extern fn random_number(mut _number: &i32){ ...

回答 1 投票 0

回调函数的字节参数在项目巴拿马函数接口中的值超出范围

我正在使用新的外部函数和内存 API,它是巴拿马项目的一部分,可在 JAVA 19 中预览。 这是一个简单的Java回调函数 公共静态字节 addFive(byte t) {...

回答 1 投票 0

通过 `mem::transmute()` 来存储指针

我正在尝试为 C 集合库(Judy Arrays1)编写 Rust 绑定,该库仅提供自身空间来存储指针宽度值。我的公司有相当数量的现有代码......

回答 1 投票 0

如何将 GObject 切片从 Rust 转换为 GList 到 FFI 函数?

我正在尝试将 GObject 从 libsecret-1 传递给 FFI 函数,这要求它位于 GList 中。我有一些几乎可以编译的代码,但它抱怨借用的 vaue 的生命周期...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.