glib中gobject的创建
来源:互联网 发布:单片机pwm调速原理 编辑:程序博客网 时间:2024/06/10 08:25
首先在.h文件中定义
GType aaa_bbb_get_type(void);通常aaa表示命名空间,bbb表示对象名字
在对应的.c文件中使用宏G_DEFINE_TYPE
G_DEFINE_TYPE(AaaBbb,aaa_bbb,G_TYPE_OBJECT)
G_DEFINE_TYPE宏会声明一些函数,并且实现了aaa_bbb_get_type(void),所以才需要在对应的.h中声明aaa_bbb_get_type的函数。
G_DEFINE_TYPE中会调用一个g_type_register_static_simple的函数,这个函数的作用就是将用户自己定义的类型注册到系统中,除此之外G_DEFINE_TYPE还定义了2个函数(aaa_bbb_init、aaa_bbb_class_init)没有实现,需要定义对象的用户自己去实现。这个是对象的初始化函数,相当于java中的构造函数,第一个函数在每个对象创建的时候都会被调用,第二个函数只有在第一次创建对象的时候被调用。确切的说,在调用g_type_class_ref的时候,如果class没有初始化,就会调用aaa_bbb_class_init。
阅读全文
0 0
- glib中gobject的创建
- Glib GObject
- glib 编程2-gobject
- GObject参考手册(4)--GLib的一些规范
- (gvim:7776): GLib-GObject-WARNING **
- 创建GObject子类的基本步骤
- GLib-GObject-WARNING **: cannot register existing type...
- ubuntu 启动gvim 出现 GLib-GObject-WARNING
- GObject参考手册(3)--GLib动态类型系统
- GLib-GObject-WARNING **: Two different plugins tried to register
- (java:11276): GLib-GObject-WARNING **: cannot register existing type `GdkDisplayManager'
- 使用GObject——搭建Windows下glib/gobject开发环境
- GObject Tutorial 和GObject手册的中文版
- glib中utf16的字节序
- glib中线程池的实现学习
- GObject的对象属性
- GObject的最小程序
- gobject的学习
- 第一章 微信营销实战之微信营销真相-全栈工程师熊盼
- Less入门学习
- 短信验证
- 理解多线程 之 40问题
- python编码错误
- glib中gobject的创建
- java值传递、引用传递
- qSort()函数详解
- vue学习笔记
- 【OpenCv】QImage 与 cv::Mat 之间的相互转换
- 在Ubuntu 上安装OpenGrok浏览Android源码
- OpenGL(十二) 光源类型 平行光 、 点光源 、 聚光灯 的实现
- Java反射机制详解超链接
- php文件单上传和多上传