1 GQuark概念
Quark:字符串和数字之间建立一一对应的联系。通过Quark定义的数字就可以检索出字符串,或者通过字符串就可以找到Quark定义的数字。
typedef guint32 GQuark;
/*1.创建quark*/
GQuark g_quark_from_string (const gchar *string); /*创建一个字符串拷贝*/
GQuark g_quark_from_static_string (const gchar *string); /*使用原字符串地址*/
/*2.用quark获得字符串*/
const gchar *g_quark_to_string (GQuark quark);
/*3.从字符串获得GQuark*/
GQuark g_quark_try_string (const gchar *string);
2 代码
#include <glib.h>
int
main(int argc, char *argv[]){
GQuark quark;
const gchar *name = "EryangLi";
gint32 flag = 0;
quark = g_quark_from_static_string(name);
g_print("%s has been Quark %d\n",name, quark);
g_print("%s pointer %p\n%s Quark pointer %p\n", name, name, name, g_quark_to_string(quark));
flag = g_quark_try_string(name);
g_print("flag = %d\n", flag);
return 0;
}