| |
Справочное описание GLib | ||||
---|---|---|---|---|
Основные типыBasic Types — Стандартные типы GLib, определяемые для простоты использования и переносимости. |
#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; typedef guint64; #define G_GINT64_CONSTANT (val) #define G_GUINT64_CONSTANT (val) typedef gfloat; typedef gdouble; typedef gsize; typedef gssize;
GLib определяет большое число основных используемых типов, которые можно разделить на 4 группы:
Новые типы которые не являются частью стандарта C - gboolean, gsize, gssize.
Целочисленные типы которые гарантируют одинаковый размер на разных платформах - gint8, guint8, gint16, guint16, gint32, guint32, gint64, guint64.
Типы которые проще использовать чем их стандартные аналоги C - gpointer, gconstpointer, guchar, guint, gushort, gulong.
Типы которые соответствуют существующим стандартным типам C, но являются более полными - gchar, gint, gshort, glong, gfloat, gdouble.
typedef gint gboolean;
Стандартный логический тип.
Переменные этого типа содержат логическое значение TRUE
или FALSE
.
typedef void* gpointer;
Указывает отсутствие типа. gpointer лучше выглядит и удобней в использовании чем void*.
typedef const void *gconstpointer;
Указывает отсутствие типа константных данных. Указанные данные не должны изменяться.
Это обычно используется в прототипах функций для указания что данные не меняются функцией.
typedef int gint;
Соответствует стандартному типу int. Значение этого типа может быть в диапазоне от G_MININT до G_MAXINT.
typedef unsigned int guint;
Соответствует стандартному типу unsigned int. Значение этого типа может быть в диапазоне от 0 до G_MAXUINT.
typedef short gshort;
Соответствует стандартному типу short. Значение этого типа может быть в диапазоне от G_MINSHORT до G_MAXSHORT.
typedef unsigned short gushort;
Соответствует стандартному типу unsigned short. Значение этого типа может быть в диапазоне от 0 до G_MAXUSHORT.
typedef long glong;
Соответствует стандартному типу long. Значение этого типа может быть в диапазоне от G_MINLONG до G_MAXLONG.
typedef unsigned long gulong;
Соответствует стандартному типу unsigned long. Значение этого типа может быть в диапазоне от 0 до G_MAXULONG.
typedef signed char gint8;
Целочисленное со знаком гарантировано равно 8 битам на всех платформах. Значение этого типа может быть в диапазоне от -128 до 127.
typedef unsigned char guint8;
Целочисленное без знака гарантировано равно 8 битам на всех платформах. Значение этого типа может быть в диапазоне от 0 до 255.
typedef signed short gint16;
Целочисленное со знаком гарантировано равно 16 битам на всех платформах. Значение этого типа может быть в диапазоне от -32,768 до 32,767.
typedef unsigned short guint16;
Целочисленное без знака гарантировано равно 16 битам на всех платформах. Значение этого типа может быть в диапазоне от 0 до 65,535.
typedef signed int gint32;
Целочисленное со знаком гарантировано равно 32 битам на всех платформах. Значение этого типа может быть в диапазоне от -2,147,483,648 до 2,147,483,647.
typedef unsigned int guint32;
Целочисленное без знака гарантировано равно 32 битам на всех платформах. Значение этого типа может быть в диапазоне от 0 до 4,294,967,295.
#define G_HAVE_GINT64 1 /* устаревшее, всегда верно */
G_HAVE_GINT64
устарела и не должна использоваться во вновь создаваемом коде. GLib нуждается в поддержке 64-bit целых начиная с версии 2.0, поэтому
G_HAVE_GINT64
всегда определено.
Этот макрос определяется если 64-битные целочисленные со знаком и без поддерживаются этой платформой.
G_GNUC_EXTENSION typedef signed long long gint64;
Целочисленное со знаком гарантировано равно 64 битам на всех платформах. Значение этого типа может быть в диапазоне от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807.
G_GNUC_EXTENSION typedef unsigned long long guint64;
Целочисленное без знака гарантировано равно 64 битам на всех платформах. Значение этого типа может быть в диапазоне от 0 до 18,446,744,073,709,551,615.
#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL))
Этот макрос используется для вставки буквальных 64-bit целочисленных в исходный код.
val : |
буквальное целочисленное значение, например 0x1d636b02300a7aa7U. |
#define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL))
Этот макрос используется для вставки буквальных 64-bit целочисленных без знака в исходный код.
val : |
буквальное значение целочисленного, например 0x1d636b02300a7aa7U. |
Начиная с версии 2.10
typedef float gfloat;
Соответствует стандартному типу float. Значение этого типа может быть в диапазоне от -G_MAXFLOAT to G_MAXFLOAT.
typedef double gdouble;
Соответствует стандартному типу double. Значение этого типа может быть в диапазоне от -G_MAXDOUBLE to G_MAXDOUBLE.
typedef unsigned int gsize;
Целочисленное 32-bit без знака, предназначенное представлять размер данных структур.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |