我有一个C库,它使用函数指针的结构来进行回调.回调将从C代码调用.
extern "C" {
typedef struct callbacks_t {
void (*foo) (const char*);
int (*bar) (int);
} callbacks_t;
}// extern C
Run Code Online (Sandbox Code Playgroud)
我可以安全地将哪些C++函数放在要从C库调用的函数指针中?静态成员函数?完全指定模板功能?不捕捉Lambdas?
g ++似乎让我使用了上述所有内容,但是当我对C和C++函数使用不同的调用约定和语言绑定时,我质疑安全性.
c++ language-binding function-pointers calling-convention extern-c