Книга: Основы программирования в Linux
Система типов GLib
Система типов GLib
Если вы когда-нибудь просматривали программный код GTK+, то могли удивиться, увидев множество типов данных языка С с префиксом g
, например, gint
, gchar
, gshort
, а также незнакомые типы gint32
и gpointer
. Дело в том, что комплект GTK+ основан на библиотеках переносимости языка С (portability libraries), названных GLib и GObject, которые определяют эти типы для того, чтобы способствовать межплатформным разработкам.
GLib и GObject помогают межплатформным разработкам, обеспечивая стандартный набор типов данных замещения, функций и макросов для поддержки управления памятью и общих задач. Эти типы, функции и макросы означают, что, как программисты GTK+, мы можем быть уверены в том, что наш программный код надежно переносится на другие платформы и архитектуры.
В библиотеке Glib также определено несколько очень удобных констант:
#include <glib/gmacros.h>
#define FALSE 0
#define TRUE !FALSE
Дополнительные типы данных — это типы, служащие заменой для стандартных типов данных C (из соображений совместимости и читабельности) и гарантирующие одинаковый размер в байтах на. всех платформах:
? gint
, guint
, gchar
, guchar
, glong
, gulong
, gfloat
и gdouble
— просто замены для стандартных типов С для совместимости;
? gpointer
— синоним типа (void*
);
? gboolean
— полезен для представления логических значений и служит оболочкой для int
;
? gint8
, guint8
, gint16
, guint16
, gint32
и guint32
— знаковые и беззнаковые типы с гарантированным размером в байтах.
Удобно то, что применение библиотек GLib и GObject почти прозрачно. Glib широко используется в GTK+, поэтому если у вас есть работающая установка GTK+, то вы обнаружите, что библиотека Glib уже установлена. Как вы увидите позже в этой главе, при программировании с помощью комплекта GTK+ вам даже не придется явно включать заголовочный файл glib.h.
- Общая система типов
- Система безопасности InterBase
- Что делать, если при установке принтера появляется сообщение Невозможно завершение операции. Подсистема печати недоступн...
- 7 Система Цикл: долгосрочные цели
- 3. Система конкурентных продаж (продажи по методу КЛИН)
- Использование типов содержимого и столбцов
- 3.4 Сетевая файловая система
- 3.7 Система Microsoft Exchange 2000 и NAS
- 5.3 Классификация типов резервного копирования
- 6.5 Файловая система NTFS
- 1.3.1. Индексирование сайта в поисковых системах
- 6.6.2.1. Файловая система FAT 16