概述
前段时间用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;
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
(不太懂)
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
(不太懂)
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 )所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复