Использование GLib

немного wiki

GLib — низкоуровневая библиотекаarrow-up-right, расширяющая возможности, предоставляемые стандартной библиотекой libcarrow-up-right языка C.

GLib предоставляет следующие возможности:

  • большой набор базовых и производных типовarrow-up-right данных;

  • макросыarrow-up-right и развитый механизм отладочныхarrow-up-right сообщений;

  • функции для преобразования кодировок и поддержки юникода;

  • встроенные макросы gettext для интернационализации;

  • средства для работы с динамической памятьюarrow-up-right;

  • средства для динамической загрузки модулей;

  • атомарные операции;

  • программные потокиarrow-up-right и средства их синхронизации;

  • порождение новых процессов;

  • таймеры, функции для работы с датой и временем;

  • генератор псевдо-случайных чисел;

  • универсальный лексический сканер;

  • синтаксический анализатор параметров командной строки;

  • синтаксический анализатор подмножества данных типа XML;

  • синтаксический анализатор .ini-подобных конфигурационных файлов;

  • средства ввода-вывода;

  • Shell-related Utilities;

  • синтаксический анализатор файлов, содержащих закладки;

  • средства работы с регулярными выражениями типа Glob.

от меня

Так как GLib является базовой(Core) библиотекой Vala то все её возможности уже реализованы в синтаксисе языка(например ключевое слово async за кулисами создает GTaskarrow-up-right) однако если вам понадобилось использовать какие либо не задокументированные на valadoc вещи, то это гайд как это сделать руководствуясь только манами GLib (которые написаны на си)

Сам гайд

GLib включает множество утилит, в том числе оболочки для большинства стандартных функций libc и множество другое. Эти инструменты доступны на всех платформах Vala, даже если они не совместимы с POSIX. За полным описанием GLib обратитесь к GLib Reference Manualarrow-up-right(Перевод которого у меня тоже имеется). Этот справочник написан по С интерфейсу, но можно легко понять, как его использовать для Vala.

При использовании функций GLib в Vala действуют следующие соглашения об именах:

C API

Vala

Example

g_topic_foobar()

GLib.Topic.foobar()

GLib.Path.get_basename()

Типы GLib можно использовать сходным образом:

Создать экземпляр с

Вызвать член объекта с

GLib.Foo foo = new GLib.Foo();

foo.bar();

Работа с файлами

За примерами гибкого файлового ввода-вывода и работы с файлами обратитесь в Vala/GIOSamples.

Вы можете так же воспользоваться FileUtils.get_contents, чтобы загрузить файл в строку.

Last updated

Was this helpful?