1.main.c
#include <iostream>
#include <typeinfo>
using namespace std;
extern "C"
{
#include <glib.h>
#include <glib-unix.h>
#include <glib-object.h>
#include <stdio.h>
typedef struct MyDemoPrivate{
gchar *name;
gint64 age;
}MyDemoPrivate;
typedef struct _MyDemo {
GObject parent;
MyDemoPrivate *priv;
}MyDemo;
//类结构体
typedef struct _MyDemoClass {
GObjectClass parent_class;
}MyDemoClass;
}
//GType my_demo_get_type(void) G_GNUC_CONST;//my_demo_get_type将会使用宏G_DEFINE_TYPE去实现(G_DEFINE_TYPE(MyDemo,my_demo,G_TYPE_OBJECT)),其中的my通常表示命名空间,demo表示对象名字,get_type为固定字段
//G_DEFINE_TYPE用法
G_DEFINE_TYPE (MyDemo, my_demo, G_TYPE_OBJECT);
/*
* G_DEFINE_TYPE 可以让 GObject 库的数据类型系统能够识别我们所定义的 MyDemo 类类型,
* 它接受三个参数,第一个参数是类名,即 MyDemo;第二个参数则是类的成员函数名称的前缀,例如 my_demo_get_type 函数即为 MyDemo 类的一个成员函数,"my_demo"是它的前缀;第三个参数则指明