我是靠谱客的博主 暴躁水杯,最近开发中收集的这篇文章主要介绍GLib中文文档 — GLib基本类型(Basic Types ),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前段时间用linux C写联机服务器,用到GLib库。
在网上找了很久,发现这么经典的库,居然没有中文文档。
于是花了几天的时间,翻译了常用的GLib库文档。
水平有限,很多地方都是直译,至少比看英文文档要方便些,有错误的地方欢迎指正。
也希望能给需要用GLib的朋友一些帮助。

如果本文有更新,请访问下面的地址:http://www.flashcat.com.cn/blog/read.php?32

Basic Types 基本类型
基本类型 — 标准的Glib类型,定义的非常易用和简便。

Synopsis 大纲

#include <glib.h>

typedef             gboolean;
typedef             gpointer;
typedef             gconstpointer;
typedef             gchar;
typedef             guchar;

typedef             gint;
typedef             guint;
typedef             gshort;
typedef             gushort;
typedef             glong;
typedef             gulong;

typedef             gint8;
typedef             guint8;
typedef             gint16;
typedef             guint16;
typedef             gint32;
typedef             guint32;

#define             G_HAVE_GINT64
typedef             gint64;
GLIB_VAR            guint64                             ();
#define             G_GINT64_CONSTANT                   (val)
#define             G_GUINT64_CONSTANT                  (val)

typedef             gfloat;
typedef             gdouble;

typedef             gsize;
typedef             gssize;
typedef             goffset;


Description 描述
定义一些普通使用类型,可分为4组:
1.不属于标准C的新类型:gboolean, gsize, gssize.
2.可以在任何平台使用的整数:gint8, guint8, gint16, guint16, gint32, guint32, gint64, guint64.
3.与标准C相似但更好用的类型:gpointer, gconstpointer, guchar, guint, gushort, gulong.
4.与标准C基本一致的类型:gchar, gint, gshort, glong, gfloat, gdouble.

Details 详细说明
gboolean
typedef gint   gboolean;
标准的boolean类型。它只储存两个值:TRUE和FALSE

gpointer
typedef void* gpointer;
无类型的指针。Gpointer比 void*更好看和更好用。

gconstpointer
typedef const void *gconstpointer;
一个常数的无类型指针。指针的值不能被更改。
典型的使用子函数原型上,指出指针所指向的数据是不能被函数更改的。

gchar
typedef char   gchar;
和标准C的char类型一致。

guchar
typedef unsigned char   guchar;
和标准C的 unsigned char一致。

gint
typedef int    gint;
类似标准C的int类型。其值能被设置G_MININT 到 G_MAXINT范围。

guint
typedef unsigned int    guint;
类似标准C的unsigned int类型。其值能被设置0到 G_MAXUINT的范围。

gshort
typedef short  gshort;
类似标准C的short类型。其值能被设置G_MINSHORT 到 G_MAXSHORT范围。

gushort
typedef unsigned short  gushort;
类似标准C的unsigned short类型。其值能被设置0到 G_MAXUSHORT的范围。

glong
typedef long   glong;
类似标准C的long类型。其值能被设置G_MINLONG 到 G_MAXLONG范围。

gulong
typedef unsigned long   gulong;
类似标准C的unsigned long类型。其值能被设置0到 G_MAXULONG的范围。

gint8
typedef signed char gint8;
在任何平台上都保证是一个有符号8位整数。
其取值返回为 -128 到 127

guint8
typedef unsigned char guint8;
在任何平台上都保证是一个无符号8位整数。
其取值返回为 0 到 255

gint16
typedef signed short gint16;
在任何平台上都保证是一个有符号16位整数。
其取值返回为 -32,768 到 32,767

guint16
typedef unsigned short guint16;
在任何平台上都保证是一个无符号16位整数。
其取值返回为 0 到 65,535

gint32
typedef signed int gint32;
在任何平台上都保证是一个有符号32位整数。
其取值返回为 -2,147,483,648 到 2,147,483,647

guint32
typedef unsigned int guint32;
在任何平台上都保证是一个无符号32位整数。
其取值返回为 0 到 4,294,967,295

gint64
G_GNUC_EXTENSION typedef signed long long gint64;
在任何平台上都保证是一个有符号64位整数。
其取值返回为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

guint64 ()
GLIB_VAR            guint64                             ();
在任何平台上都保证是一个无符号32位整数。
其取值返回为 0 到 18,446,744,073,709,551,615

G_GINT64_CONSTANT()
#define G_GINT64_CONSTANT(val)  (G_GNUC_EXTENSION (val##LL))
This macro is used to insert 64-bit integer literals into the source co
de.
(不太懂)
val :  a literal integer value, e.g. 0x1d636b02300a7aa7U.

G_GUINT64_CONSTANT()
#define G_GUINT64_CONSTANT(val)  (G_GNUC_EXTENSION (val##ULL))
This macro is used to insert 64-bit unsigned integer literals into the source co
de.
(不太懂)
val :  a literal integer value, e.g. 0x1d636b02300a7aa7U.
Since 2.10

gfloat
typedef float   gfloat;
类似标准C的float类型。其值可以设置-G_MAXFLOAT 到 G_MAXFLOAT范围

gdouble
typedef double  gdouble;
类似标准C的double类型。其值可以设置-G_MAXDOUBLE 到G_MAXDOUBLE范围

gsize
typedef unsigned int gsize;
一个无符号整形,用来储存sizeof的结果,与C99的size_t类型类似。
这个类型能足够存储下一个指针的数据。它常常在32为平台上是32位的,在64位平台上是64位的。

gssize
typedef signed int gssize;
一个有符号gsize,与大多数平台的ssize_t类型类似。

goffset
typedef gint64 goffset;
一个有符号的整形,用来作为文件偏移。类似于C99的off64_t
Since: 2.14

最后

以上就是暴躁水杯为你收集整理的GLib中文文档 — GLib基本类型(Basic Types )的全部内容,希望文章能够帮你解决GLib中文文档 — GLib基本类型(Basic Types )所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部