使用 C 类成员函数作为 C 回调函数
可以将 C 类成员函数注册为 C 回调函数,但是有一定的要求要满足。
Q1:首先可以注册C吗像我正在尝试做的类成员函数,如果是的话怎么做?
A1:是的,如果函数声明为静态函数,则可以将 C 类成员函数注册为回调函数。与非静态成员函数不同,静态成员函数没有隐式“this”指针作为其第一个参数。这使得它们能够与 C 回调函数的签名兼容。
Q2:有替代/更好的方法来解决这个问题吗?
A2:这里是一些替代选项:
使用静态成员函数的示例:
class A { public: A() { register_with_library(&A::e); } ~A() {} static int e(int *k, int *j) { return 0; } };
以上是C 类成员函数可以用作 C 回调函数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!