C++ 使用 C 调用约定调用回调

问题描述

我有一个带有 C 兼容头文件的库。 这个库是 100% 用 C++ 实现的。 尽管如此,重要的是调用约定都是 C 语言,因为库函数将从 C 和 C++ 代码调用

// HEADER (C/C++)
#ifdef __cplusplus
extern "C" {
#endif

typedef void(*my_callback)(int);

#ifdef __cplusplus
}
#endif
// SOURCE (C++)
void foo(my_callback callback) {
    callback(2);
}

如何确保始终使用 C 调用约定调用 my_callbacktypedef 位于 extern "C" 块内是否足够?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)