Об инструментах
Last updated
Was this helpful?
Last updated
Was this helpful?
Создание GObjects может быть утомительной задачей. Требуется много печатать и даже copy/paste приносит много хлопот. Одной очевидной идеей является использование некоторого рода шаблонных заготовок для классов, а зтем запуск специального инструмента для генерации реального C файла. (или GOB2) является таким инструментом. Это препроцессор который может быть использован для конструирования GObjects с действующим C кодом, поэтому нет необходимости редактировать сгенерерованный C код. Синтаксис в стиле Java и Yacc или Lex. Реализация преднамеренно сделана простой: действующий C код пользователя не анализируется.
Ещё один инструмент который может оказаться полезным при работе с GObjects - это . Он умеет отображать объекты Glib/Gtk+ и их свойства.
Схема подсчёта ссылок используемая в GObject действительно решает многие проблемы управления памятью, но также добавляет новые ошибки в исходный код. В большинстве приложений, найти точно где счётчик ссылок Object может быть обработан не правильно, очень сложно. Хотелось бы надеяться что существующий инструмент с именем может использоваться для автоматического отслеживания недопустимого кода имеющего отношение к подсчёту ссылок. Это приложение перехватывает вызовы подсчёта ссылок и пытается обнаружить недопустимое поведение. Она поддерживает механизм фильтрации правил позволяя вам отслеживать только интересующие вас объекты и может использоваться совместно с gdb.
Помните что если GObject скомпилирован с параметром --enable-debug=yes
, это экспортирует переменную прерывания программы в случае ошибки
Если установлено в не-NULL значение, () и () будут перехвачены когда получат вызов с таким значением.
API документация для большинства библиотек Glib, GObject, GTK+ и GNOME создаётся с помощью комбинации разных инструментов. Обычно, часть документации которая описывает поведение каждой функции извлекается из специально отформатированных комментариев исходного кода с помощью утилиты с названием gtk-doc которая генерирует docbook xml и соединяет этот docbook xml с набором master xml docbook файлов. Эти xml docbook файлы обрабатываются с помощью xsltproc (небольшая программа, часть библиотеки libxslt) для генерации заключительного html вывода. Другие инструменты могут использоваться для генерации pdf вывода из исходного xml. Следующий код выборочно показывает как выглядят такие комментарии.
Более полная о том как установить и использовать gtk-doc в вашем проекте приведена на сайте разработчиков GNOME.