Архив документации OpenNet.ru /
Раздел "Программирование, языки" /
Индекс
В этой книге недостаточно места, чтобы осветить все особенности glib.
Стоит посмотреть в glib, как только вы ловите себя на мысли:
Обязательно должна быть функция, которая... --
glib.h и документация по glib на
http://www.gtk.org -- превосходные ресурсы.
Вот краткий список еще не упомянутых особенностей:
- "FLOAT_MAX" и другие эквиваленты для многих типов чисел.
- Преобразования порядка байт.
- "g_memmove()" более переносима, чем
"memmove()".
- "G_DIR_SEPARATOR" следит за разницей между
Windows и UNIX.
- "G_VA_COPY" копирует "va_list"
переносимым способом.
- Многочисленные макросы, которые позволяют пользоваться расширениями
компилятора (особенно расширениями gcc) переносимым
способом.
- Переносимая "g_htonl()" и другие преобразования
хост-в-сеть.
- GCache -- средство для организации типового кэша.
- Процедуры обслуживания обработчиков -- регистрация и
дерегистрации обработчиков.
- Средство "g_log()" позволяет вам печатать
предупреждения, сообщения и т.д. с конфигурируемыми уровнями протоколирования
и подключаемыми процедурам печати.
- Средство GMemChunk позволяет вам выделять огромные
пулы маленьких цепочек памяти, по эффективности выигрывающее у
"g_malloc()". Например, используется в реализации
GList.
- Таймер.
- Удобные/переносимые процедуры для получения домашнего каталога
пользователя, получения имени каталога "/tmp" и подобных
задач.
- Манипулирование с именем файла, такое как "g_basename()"
и "g_path_is_absolute()".
- Манипуляции с битовыми полями.
- Расширенные классы строк и массивов. Массивы указателей и байт.
- GQuark -- двустороннее преобразование данных из
строковых в численные идентификаторы.
- Процедуры для связывания данных со строками или произвольными указателями.
- Лексический сканер.
- Завершение по табуляции.
- Календарные функции и функции вычисления дат.
- Обощенная абстракция цикла событий, используемая для реализации
цикла событий Gtk+.
- Переносимая абстракция многонитевости.
Если вам нужна некая широко используемая процедура, которой еще нет в
glib, напишите ее в стиле glib и пожертвуйте ее в
эту библиотеку! Вы получите бесплатно содействие при проектировании,
отладке и обслуживании, и другие программисты получат выгоду от написанного
вами средства. В то время как вы это читаете, возможно, что возможность,
которую вы хотели, уже есть в последней версии glib.
Архив документации на OpenNet.ru