函数
GObjecttype_ensure
自:2.34
[−]
描述 [源代码]
确保指定的类型已经被注册到类型系统中,并且其_class_init() 方法已经执行。
理论上,只需调用该类型的 _get_type() 方法(或使用相应的宏)就应该处理这个问题。然而,出于性能考虑,_get_type() 方法通常被标记为 G_GNUC_CONST
,尽管这在技术上是不正确的(因为 G_GNUC_CONST
要求函数没有副作用,而 _get_type() 方法在第一次调用时有副作用)。因此,如果您直接调用 _get_type() 宏,它可能被编译器优化掉。使用 g_type_ensure()
确保调用该类型的 _get_type() 方法。
自:2.34