The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Основные типы

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 группы:

Детали

gboolean

typedef gint   gboolean;

Стандартный логический тип. Переменные этого типа содержат логическое значение TRUE или FALSE.


gpointer

typedef void* gpointer;

Указывает отсутствие типа. gpointer лучше выглядит и удобней в использовании чем void*.


gconstpointer

typedef const void *gconstpointer;

Указывает отсутствие типа константных данных. Указанные данные не должны изменяться.

Это обычно используется в прототипах функций для указания что данные не меняются функцией.


gchar

typedef char   gchar;

Соответствует стандартному типу char.


guchar

typedef unsigned char   guchar;

Соответствует стандартному типу unsigned char.


gint

typedef int    gint;

Соответствует стандартному типу int. Значение этого типа может быть в диапазоне от G_MININT до G_MAXINT.


guint

typedef unsigned int    guint;

Соответствует стандартному типу unsigned int. Значение этого типа может быть в диапазоне от 0 до G_MAXUINT.


gshort

typedef short  gshort;

Соответствует стандартному типу short. Значение этого типа может быть в диапазоне от G_MINSHORT до G_MAXSHORT.


gushort

typedef unsigned short  gushort;

Соответствует стандартному типу unsigned short. Значение этого типа может быть в диапазоне от 0 до G_MAXUSHORT.


glong

typedef long   glong;

Соответствует стандартному типу long. Значение этого типа может быть в диапазоне от G_MINLONG до G_MAXLONG.


gulong

typedef unsigned long   gulong;

Соответствует стандартному типу 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.


G_HAVE_GINT64

#define G_HAVE_GINT64 1          /* устаревшее, всегда верно */

Внимание

G_HAVE_GINT64 устарела и не должна использоваться во вновь создаваемом коде. GLib нуждается в поддержке 64-bit целых начиная с версии 2.0, поэтому G_HAVE_GINT64 всегда определено.

Этот макрос определяется если 64-битные целочисленные со знаком и без поддерживаются этой платформой.


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

G_GNUC_EXTENSION typedef unsigned long long guint64;

Целочисленное без знака гарантировано равно 64 битам на всех платформах. Значение этого типа может быть в диапазоне от 0 до 18,446,744,073,709,551,615.


G_GINT64_CONSTANT()

#define G_GINT64_CONSTANT(val)	(G_GNUC_EXTENSION (val##LL))

Этот макрос используется для вставки буквальных 64-bit целочисленных в исходный код.

val : буквальное целочисленное значение, например 0x1d636b02300a7aa7U.

G_GUINT64_CONSTANT()

#define G_GUINT64_CONSTANT(val)	(G_GNUC_EXTENSION (val##ULL))

Этот макрос используется для вставки буквальных 64-bit целочисленных без знака в исходный код.

val : буквальное значение целочисленного, например 0x1d636b02300a7aa7U.

Начиная с версии 2.10


gfloat

typedef float   gfloat;

Соответствует стандартному типу float. Значение этого типа может быть в диапазоне от -G_MAXFLOAT to G_MAXFLOAT.


gdouble

typedef double  gdouble;

Соответствует стандартному типу double. Значение этого типа может быть в диапазоне от -G_MAXDOUBLE to G_MAXDOUBLE.


gsize

typedef unsigned int gsize;

Целочисленное 32-bit без знака, предназначенное представлять размер данных структур.


gssize

typedef signed int gssize;

Целочисленное 32-bit со знаком, предназначенное представлять размер данных структур.





Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру