我需要访问从Rust中的C导出的常量的值。
我想从实际符号中读取值,而不仅仅是将其复制并粘贴到Rust(在我的情况下,该值是一个指针,而C检查指针是否相等)。
extern void *magic;
Run Code Online (Sandbox Code Playgroud)
magic: *const c_void在Rust中可读的语法是什么?
use std::os::raw::c_void;
extern "C" {
#[no_mangle]
static magic: *const c_void;
}
Run Code Online (Sandbox Code Playgroud)
可选,前extern有可能#[link(kind="static", name="<c library name>")]得到的实际符号链接。
常量声明为static,const这有点奇怪,但是使用关键字时,它会失败,并且“外部项目不能为const”。¯\ _(?)_ /¯
| 归档时间: |
|
| 查看次数: |
857 次 |
| 最近记录: |