[ ÓÀÔ¶µÄUNIX::UNIX¼¼Êõ×ÊÁϵı¦¿â ]

Ê×Ò³ > ±à³Ì¼¼Êõ > ÆäËü > ÕýÎÄ
GTKÈëÃŵ¼Òý--17. glib
·­Òë: Brian Lin, OK STATION, Webmaster (2001-04-27 13:33:43)
¡¡¡¡¡¡
--------------------------------------------------------------------------------

17.¡¡glib
glibÌṩÐí¶àÓÐÓõĺ¯Êý¼°¶¨Òå.¡¡ÎÒ°ÑËüÃÇÁÐÔÚÕâÀï²¢×ö¼ò¶ÌµÄ½âÊÍ.¡¡ºÜ¶à¶¼ÊÇÓëlibcÖØ¸´,¡¡¶ÔÕâЩÎÒ²»ÔÙÏêÊö.¡¡ÕâЩ´óÖÂÉÏÊÇÓÃÀ´²Î¿¼,¡¡ÄúÖªµÀÓÐʲ÷á¶«Î÷¿ÉÒÔÓþͺÃ.¡¡


17.1¡¡¶¨Òå¡¡
Ϊ±£³Ö×ÊÁÏÐÍ̬µÄÒ»ÖÂ,¡¡ÕâÀïÓÐһЩ¶¨Òå:¡¡


G_MINFLOAT
G_MAXFLOAT
G_MINDOUBLE
G_MAXDOUBLE
G_MINSHORT
G_MAXSHORT
G_MININT
G_MAXINT
G_MINLONG
G_MAXLONG

´ËÍâ,¡¡ÒÔϵÄtypedefs.¡¡Ã»ÓÐÁгöÀ´µÄÊÇ»á±äµÄ,¡¡Òª¿´ÊÇÔÚÄÇÒ»ÖÖÆ½Ì¨ÉÏ.¡¡Èç¹ûÄúÏëÒª¾ßÓпÉÒÆÖ²ÐÔ,¡¡¼ÇµÃ±ÜÃâȥʹÓÃsizeof(pointer).¡¡ÀýÈç,¡¡Ò»¸öÖ¸±êÔÚAlphaÉÏÊÇ8¡¡bytes,¡¡µ«ÔÚInterÉÏΪ4¡¡bytes.¡¡


char¡¡¡¡¡¡gchar;
short¡¡¡¡gshort;
long¡¡¡¡¡¡glong;
int¡¡¡¡¡¡¡¡gint;
char¡¡¡¡¡¡gboolean;

unsigned¡¡char¡¡¡¡¡¡guchar;
unsigned¡¡short¡¡¡¡gushort;
unsigned¡¡long¡¡¡¡¡¡gulong;
unsigned¡¡int¡¡¡¡¡¡¡¡guint;

float¡¡¡¡¡¡gfloat;
double¡¡¡¡gdouble;
long¡¡double¡¡gldouble;

void*¡¡gpointer;

gint8
guint8
gint16
guint16
gint32
guint32


17.2¡¡Ë«ÏòÁ´½á´®ÁС¡
ÒÔϺ¯ÊýÓÃÀ´²úÉú,¡¡¹ÜÀí¼°Ïú»ÙË«ÏòÁ´½á´®ÁÐ.¡¡


GList*¡¡g_list_alloc¡¡¡¡¡¡¡¡¡¡¡¡¡¡(void);

void¡¡¡¡¡¡g_list_free¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list);

void¡¡¡¡¡¡g_list_free_1¡¡¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list);

GList*¡¡g_list_append¡¡¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡¡¡data);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GList*¡¡g_list_prepend¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡¡¡data);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GList*¡¡g_list_insert¡¡¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡¡¡data,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gint¡¡¡¡¡¡¡¡¡¡¡¡¡¡position);

GList*¡¡g_list_remove¡¡¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡¡¡data);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GList*¡¡g_list_remove_link¡¡(GList¡¡¡¡¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GList¡¡¡¡¡¡¡¡¡¡*link);

GList*¡¡g_list_reverse¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list);

GList*¡¡g_list_nth¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gint¡¡¡¡¡¡¡¡¡¡¡¡¡¡n);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GList*¡¡g_list_find¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡¡¡data);

GList*¡¡g_list_last¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list);

GList*¡¡g_list_first¡¡¡¡¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list);

gint¡¡¡¡¡¡g_list_length¡¡¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list);

void¡¡¡¡¡¡g_list_foreach¡¡¡¡¡¡¡¡¡¡(GList¡¡¡¡¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GFunc¡¡¡¡¡¡¡¡¡¡¡¡func,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡¡¡user_data);



17.3¡¡µ¥ÏòÁ´½á´®ÁС¡
ÒÔϺ¯ÊýÊÇÓÃÀ´¹ÜÀíµ¥ÏòÁ´½á´®ÁÐ:¡¡

GSList*¡¡g_slist_alloc¡¡¡¡¡¡¡¡¡¡¡¡¡¡(void);

void¡¡¡¡¡¡¡¡g_slist_free¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list);

void¡¡¡¡¡¡¡¡g_slist_free_1¡¡¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list);

GSList*¡¡g_slist_append¡¡¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡data);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GSList*¡¡g_slist_prepend¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡data);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GSList*¡¡g_slist_insert¡¡¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡data,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gint¡¡¡¡¡¡¡¡¡¡¡¡position);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GSList*¡¡g_slist_remove¡¡¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡data);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GSList*¡¡g_slist_remove_link¡¡(GSList¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GSList¡¡¡¡¡¡*link);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GSList*¡¡g_slist_reverse¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list);

GSList*¡¡g_slist_nth¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gint¡¡¡¡¡¡¡¡¡¡¡¡n);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GSList*¡¡g_slist_find¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡data);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GSList*¡¡g_slist_last¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list);

gint¡¡¡¡¡¡¡¡g_slist_length¡¡¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list);

void¡¡¡¡¡¡¡¡g_slist_foreach¡¡¡¡¡¡¡¡¡¡(GSList¡¡¡¡¡¡*list,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GFunc¡¡¡¡¡¡¡¡¡¡func,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gpointer¡¡¡¡user_data);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡


17.4¡¡¼ÇÒäÌå¹ÜÀí¡¡

gpointer¡¡g_malloc¡¡¡¡¡¡¡¡¡¡¡¡(gulong¡¡¡¡¡¡¡¡size);

ÕâÊÇÌæ´úmalloc()ÓõÄ.¡¡Äã²»ÐèҪȥ¼ì²é·µ»ØÖµ,¡¡ÒòΪËüÒѾ­°ïÄã×öºÃÁË,¡¡±£Ö¤.¡¡


gpointer¡¡g_malloc0¡¡¡¡¡¡¡¡¡¡(gulong¡¡¡¡¡¡¡¡size);

Ò»Ñù,¡¡²»¹ý»áÔÚ·µ»ØÖ®Ç°½«¼ÇÒäÌå¹éÁã.¡¡


gpointer¡¡g_realloc¡¡¡¡¡¡¡¡¡¡(gpointer¡¡¡¡mem,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gulong¡¡¡¡¡¡¡¡size);

ÖØ¶¨¼ÇÒäÌå´óС.¡¡


void¡¡¡¡¡¡¡¡¡¡g_free¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(gpointer¡¡¡¡mem);

void¡¡¡¡¡¡¡¡¡¡g_mem_profile¡¡(void);

½«¼ÇÒäÌåµÄʹÓÃ×´¿öдµ½Ò»¸öµµ°¸,¡¡²»¹ýÄú±ØÐëÒªÔÚglib/gmem.cÀïÃæ,¡¡¼Ó#define¡¡MEM_PROFILE,¡¡È»ááÖØÐ±àÒë.¡¡


void¡¡¡¡¡¡¡¡¡¡g_mem_check¡¡¡¡¡¡(gpointer¡¡¡¡mem);

¼ì²é¼ÇÒäÌåλÖÃÊÇ·ñÓÐЧ.¡¡Äú±ØÐëÒªÔÚglib/gmem.cÉϼÓ#define¡¡MEM_CHECK,¡¡È»ááÖØÐ±àÒë.¡¡


17.5¡¡Timers¡¡
Timerº¯Êý..¡¡


GTimer*¡¡g_timer_new¡¡¡¡¡¡¡¡¡¡(void);

void¡¡¡¡¡¡¡¡g_timer_destroy¡¡(GTimer¡¡¡¡*timer);

void¡¡¡¡¡¡¡¡g_timer_start¡¡¡¡¡¡(GTimer¡¡¡¡*timer);

void¡¡¡¡¡¡¡¡g_timer_stop¡¡¡¡¡¡¡¡(GTimer¡¡¡¡*timer);

void¡¡¡¡¡¡¡¡g_timer_reset¡¡¡¡¡¡(GTimer¡¡¡¡*timer);

gdouble¡¡g_timer_elapsed¡¡(GTimer¡¡¡¡*timer,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gulong¡¡¡¡*microseconds);


17.6¡¡×Ö´®´¦Àí¡¡

GString*¡¡g_string_new¡¡¡¡¡¡¡¡¡¡¡¡¡¡(gchar¡¡¡¡¡¡*init);
void¡¡¡¡¡¡¡¡¡¡g_string_free¡¡¡¡¡¡¡¡¡¡¡¡(GString¡¡*string,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gint¡¡¡¡¡¡¡¡¡¡free_segment);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GString*¡¡g_string_assign¡¡¡¡¡¡¡¡(GString¡¡*lval,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gchar¡¡¡¡¡¡*rval);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GString*¡¡g_string_truncate¡¡¡¡(GString¡¡*string,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gint¡¡¡¡¡¡¡¡¡¡len);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GString*¡¡g_string_append¡¡¡¡¡¡¡¡(GString¡¡*string,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gchar¡¡¡¡¡¡*val);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GString*¡¡g_string_append_c¡¡¡¡(GString¡¡*string,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gchar¡¡¡¡¡¡¡¡c);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GString*¡¡g_string_prepend¡¡¡¡¡¡(GString¡¡*string,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gchar¡¡¡¡¡¡*val);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
GString*¡¡g_string_prepend_c¡¡(GString¡¡*string,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gchar¡¡¡¡¡¡¡¡c);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
void¡¡¡¡¡¡¡¡¡¡g_string_sprintf¡¡¡¡¡¡(GString¡¡*string,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gchar¡¡¡¡¡¡*fmt,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡...);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
void¡¡¡¡¡¡¡¡¡¡g_string_sprintfa¡¡¡¡(GString¡¡*string,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡gchar¡¡¡¡¡¡*fmt,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡...);


17.7¡¡¹¤¾ß¼°³ý´íº¯Êý¡¡

gchar*¡¡g_strdup¡¡¡¡¡¡¡¡(const¡¡gchar¡¡*str);


gchar*¡¡g_strerror¡¡¡¡(gint¡¡errnum);

ÎÒ½¨ÒéÄúʹÓÃÕâ¸öÀ´×öËùÓдíÎóѶϢ.¡¡ÕâÍæÒâºÃ¶àÁË.¡¡Ëü±Èperror()À´µÄ¾ßÓпÉÒÆÖ²ÐÔ.¡¡Êä³öΪÒÔÏÂÐÎʽ:¡¡


program¡¡name:function¡¡that¡¡failed:file¡¡or¡¡further¡¡description:strerror

ÕâÀïÊÇ"hello¡¡world"Óõ½µÄһЩº¯Êý:¡¡


g_print("hello_world:open:%s:%s\n",¡¡filename,¡¡g_strerror(errno));


void¡¡g_error¡¡¡¡¡¡(gchar¡¡*format,¡¡...);

ÏÔʾ´íÎóѶϢ,¡¡Æä¸ñʽÓëprintfÒ»Ñù,¡¡µ«»á¼Ó¸ö"**¡¡ERROR¡¡**:¡¡",¡¡È»ááÀ뿪³Ìʽ.¡¡Ö»ÔÚÑÏÖØ´íÎóʱʹÓÃ.¡¡


void¡¡g_warning¡¡(gchar¡¡*format,¡¡...);

¸úÉÏÃæÒ»Ñù,¡¡µ«¼Ó¸ö"**¡¡WARNING¡¡**:¡¡",¡¡²»À뿪³Ìʽ.¡¡


void¡¡g_message¡¡(gchar¡¡*format,¡¡...);

¼Ó¸ö"message:¡¡".¡¡


void¡¡g_print¡¡¡¡¡¡(gchar¡¡*format,¡¡...);

printf()µÄÌæ´úÆ·.¡¡

×îááÒ»¸ö:¡¡


gchar*¡¡g_strsignal¡¡(gint¡¡signum);

ÁÐÓ¡UnixϵͳµÄÐźÅÃû³Æ,¡¡ÔÚÐźŴ¦ÀíʱºÜÓÐÓÃ.¡¡

ÕâЩ´ó¶¼´Óglib.hÖжøÀ´.¡¡



--------------------------------------------------------------------------------
¡¡¡¡¡¡ (http://www.fanqiang.com)
    ½øÈ롾UNIXÂÛ̳¡¿

Ïà¹ØÎÄÕÂ
GTKÈëÃŵ¼Òý--½áÊøÓï (2001-04-27 13:38:49)
GTKÈëÃŵ¼Òý--20. д³öÊôì¶Äú×Ô¼ºµÄÎï¼þ (2001-04-27 13:35:04)
GTKÈëÃŵ¼Òý--19. GTKµÄrcµµ (2001-04-27 13:34:33)
GTKÈëÃŵ¼Òý--18. É趨ÊÓ´°Îï¼þÊôÐÔ (2001-04-27 13:34:13)
GTKÈëÃŵ¼Òý--17. glib (2001-04-27 13:33:43)
GTKÈëÃŵ¼Òý--16. Ñ¡È¡ÇøÓò¹ÜÀí (2001-04-27 13:33:18)
GTKÈëÃŵ¼Òý--14. MenuÎï¼þ (2001-04-27 13:32:52)
GTKÈëÃŵ¼Òý--13. Undocumented Widgets (2001-04-27 13:32:29)
GTKÈëÃŵ¼Òý--12. ListÎï¼þ (2001-04-27 13:31:41)
GTKÈëÃŵ¼Òý--11. µµ°¸Ñ¡È¡Îï¼þ (2001-04-27 13:31:14)

===¸ü¶àÏà¹Ø===
 

¡ï  ·®Ç¿ÖÆ×÷ »¶Ó­·ÖÏí  ¡ï