标签: rust ffi
我希望将一个库包装在一个具有以下类型签名的函数中:
int fn_name(void (*cb)(*char, va_list));
我希望我传递的回调可以访问Rust中的某些上下文。我的想法是创建一个可以访问上下文的闭包,然后将此闭包转换为extern "C"原始函数指针。我不认为这会起作用。
extern "C"
是否有可能做我想做的事情,如果可以的话我该怎么办?
请注意,该函数使用va_list中的stdarg.h,但我很高兴将其视为*void - 处理超出此问题的范围。
va_list
stdarg.h
*void