#define
JC_TYPE_BOY (jc_boy_get_type ())
// 实例类型转换
#define JC_BOY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JC_TYPE_BOY, JcBoy))
// 实例类型判定
#define JC_IS_BOY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JC_TYPE_BOY))
// 类结构转换
#define JC_BOY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JC_TYPE_BOY, JcBoyClass))
// 类结构判定
#define JC_IS_BOY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JC_TYPE_BOY))
// 获取类结构
#define JC_BOY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JC_TYPE_BOY, JcBoyClass))
// 获取私有结构,如果没有可不定义该宏
// 实例类型转换
#define JC_BOY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JC_TYPE_BOY, JcBoy))
// 实例类型判定
#define JC_IS_BOY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JC_TYPE_BOY))
// 类结构转换
#define JC_BOY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JC_TYPE_BOY, JcBoyClass))
// 类结构判定
#define JC_IS_BOY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JC_TYPE_BOY))
// 获取类结构
#define JC_BOY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JC_TYPE_BOY, JcBoyClass))
// 获取私有结构,如果没有可不定义该宏
#define JC_BOY_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), JC_TYPE_BOY, JcBoyPrivate))
转载自:http://www.cnblogs.com/pingf/archive/2009/11/20/1606742.html