链接到带有回调示例的外部c dll之后时出错。
我创建了Anneclib.dll并分散了它(和lib),甚至尝试了完整路径,但仍然得到相同的错误(但使用完整路径)。
extern fn callback(a: i32) {
println!("I'm called from C with value {0}", a);
}
#[link(name = "anneclib")]
extern {
fn register_callback(cb: extern fn(i32)) -> i32;
fn trigger_callback();
}
fn main() {
unsafe {
register_callback(callback);
trigger_callback(); // Triggers the callback
}
}
在错误消息中,您可以看到文件夹[your source folder]\bin\x86_64-pc-windows-gnu
被添加到库路径中。你得把你的库放进这个文件夹里。您可能还必须在库名称中添加一个'lib'前缀。
这里有一个对我有用的小例子:
一个带有hello函数的C文件:
#include <stdio.h>
void hello() {
printf("Hello from C!\n");
}
gcc -shared -o libhello.dll hello.c
#[link(name = "hello")]
extern {
fn hello();
}
fn main() {
unsafe { hello(); }
}
+ bin
+ --- x86_64-pc-windows-gnu
+ --- libhello.dll
+ main.rs
rustc main.rs
注为了执行main.exe,还需要main.exe旁边或系统路径中的libhello.dll的副本。
我正试图开始使用Rust FFI,所以我去了FFI上的nomicon留档,尝试复制“外国呼叫约定”示例。 我编写了一段简单的代码,只需复制粘贴示例,并尝试使用声明的函数: 这真的没有什么用处,我只是想看看我是否可以链接并调用一个函数,而不会让一切都爆炸。 我从编译器中得到这个错误: 这个例子过时了吗?我是不是漏掉了什么明显的东西?看起来不管怎样,我声明的应该在范围内。 我知道winapi板条箱,但
我试图在我的Windows开发机器上安装node-ffi,但是安装失败。根据node-ffi网页,应该支持Windows。然而,看起来gyp试图通过sh执行一些东西,这(显然)在我的系统中不存在。有什么想法吗? 我的系统是Windows7x64。
我已经将JMeter简单数据写入程序配置为输出结果。然而,当使用JMeter HMTL报告的生成器时,我收到了以下错误: 生成报告发生错误:处理示例时出错:消费者失败,消息为:消费者失败,消息为:消费者失败,消息为:消费者失败,消息为:消费者失败,消息为:无列 任何帮助都将不胜感激。
我收到这个错误消息 mylib。dll是一个JNI包装器,它使用其他C库。 当我打开mylib时。dll带有依赖项遍历器它显示所有依赖库都可用! 有没有办法检查java中找不到哪个库? 我用Visual Studio编译了第三方库,用mingw32编译了mylib。这可能是个问题吗?
问题内容: 我收到以下错误: 我的代码是: Windows 7,64位。Python 3.x最新,稳定。 有任何想法吗? 谢谢, 问题答案: 当命令是内置的shell时,请在调用中添加“ shell = True”。 例如,您将输入: 引用文档: 在Windows上唯一需要指定shell = True的时间是将要执行的命令内置到shell中(例如dir或copy)。您不需要shell = True
问题内容: 我按照本教程安装了量角器,当我使用webdriver-manager更新时,它说: 您在我尝试进行量角器测试时说: 我检查了 local.dp.js ,发现它试图从 .. \ node_modules \ protractor \ selenium \ chromedriver加载chromedriver, 但是只有一个空的zip文件 chromedriver_2.9 。 因此,我手动