Использование GLib
Last updated
Was this helpful?
Last updated
Was this helpful?
GLib — низкоуровневая , расширяющая возможности, предоставляемые стандартной библиотекой языка C.
GLib предоставляет следующие возможности:
большой набор базовых и производных данных;
и развитый механизм сообщений;
функции;
функции для преобразования кодировок и поддержки юникода;
встроенные макросы gettext для интернационализации;
средства для работы с ;
средства для динамической загрузки модулей;
атомарные операции;
программные и средства их синхронизации;
порождение новых процессов;
таймеры, функции для работы с датой и временем;
генератор псевдо-случайных чисел;
универсальный лексический сканер;
синтаксический анализатор параметров командной строки;
синтаксический анализатор подмножества данных типа XML;
синтаксический анализатор .ini-подобных конфигурационных файлов;
средства ввода-вывода;
;
Shell-related Utilities;
синтаксический анализатор файлов, содержащих закладки;
средства работы с регулярными выражениями типа Glob.
При использовании функций 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, чтобы загрузить файл в строку.
Так как GLib является базовой(Core) библиотекой Vala то все её возможности уже реализованы в синтаксисе языка(например ключевое слово async
за кулисами создает ) однако если вам понадобилось использовать какие либо не задокументированные на valadoc вещи, то это гайд как это сделать руководствуясь только манами GLib (которые написаны на си)
GLib включает множество утилит, в том числе оболочки для большинства стандартных функций libc и множество другое. Эти инструменты доступны на всех платформах Vala, даже если они не совместимы с POSIX. За полным описанием GLib обратитесь к (Перевод которого у меня тоже имеется). Этот справочник написан по С интерфейсу, но можно легко понять, как его использовать для Vala.