将C++与 Tizen 库一起使用

Using C++ with Tizen libraries

本文关键字:一起 Tizen C++      更新时间:2023-10-16

我是Tizen新手C++开发人员。 我已经浏览了所有(本机(示例代码,它似乎大量使用回调。

由于您不能(轻松(传递成员函数来代替回调(除非是静态的(,这使得使用 C++ 代替 C 变得更加困难。

使用C++(对所有 CB 使用静态方法(是否有优势 - 或者我应该坚持使用 C 并使用冗长复杂的函数名称来组织各种函数。 (有点像命名空间(

有没有其他解决方案?

回调的"user_data"参数是你需要使用的。示例:device_changed_cb类型定义。您可以将此"user_data"用作"此类"。

我建议使用以下伪 c++ 代码:

class X {
void member_func(type, value);
static member_func_cb(type, value, void *user_data) {
class X *xptr = (class *X) user_data;
xptr->member_func(type, value);
};
...
register_callback(member_func_cb, this);
...
};

使用正确的宏定义,也可以避免在类中重新定义 *_cb 函数。