当然,答案是以某种方式传递/获取一块连续的内存块,所以问题更多地涉及如何实现。目前,我仍然可以通过在 C 代码中编写包装函数来避免这个问题,但这并不是一个长久之计。
我正在尝试通过 FFI 将由 C 库返回的 C 字符串(&cstr)转换为 Rust 字符串。 mylib.c const char* hello(){ return "Hello World!"; } main.rs #![feature(link_args)] exte...
有没有人写过将Haskell扩展到Perl的程序?比如可以计算斐波那契数列的函数之类的简单内容?我对使用Haskell很感兴趣,而且我看到Haskell和Perl社区之间有一些重叠。有没有指向Haskell/Perl项目或同时使用这两种语言的酷炫东西的线索?我已经看到了Language::Ha...
我正在使用Rust调用一个需要空指针作为参数的C函数,然后分配一些内存来指向它。那么,如何高效地(即避免不必要的复制)且安全地(即避免内存泄漏或段错误)将C指针中的数据转换为Vec?我的代码示例如下: extern "C" { // C function that allocates...
我正在在Windows上制作一个小的Haskell游戏,希望每次用户按键时都能响应。因为getChar在Windows上表现奇怪,我使用FFI来访问conio.h中的getch,如此处所述。相关代码如下:foreign import ccall unsafe "conio.h getch" c...
我目前正在开发一款运行在服务器上,在浏览器中显示数据的模拟器。 为了提供文件服务、通讯等功能,我想使用Node.js。但是,我不确定它在计算方面是否能够表现出我所期望的性能,因此我想用C++来开发模拟部分。 这个模拟器被划分为几个不同的“世界”,每个世界都有一些初始参数。 最佳的方式是什么?
目前我尝试将Haskell库链接到Rust项目中并未取得成功。我遇到了很多错误,其中最新的是ghc提示需要使用-fPIC重新编译。 我已经成功地实现了动态链接的示例,但是无法进行静态链接。 以下是我的当前设置: build.rs fn main() { println!("ca...
我想从Rust中调用一个C++动态库(*.so),但我不想从Rust中构建它。就像这样,cc::Build::new() .file("src/foo.cc") .shared_flag(true) .compile("libfoo.so"); 在某些情况下,我只需要调...