Нерабочие символы в исходном коде коврика для мыши xfce
Извините, я новичок. Я пытаюсь научиться читать очень простой текстовый редактор для xfce4: коврик для мыши. Но в нем я вижу два разбитых символа mousepad_window_get_type и mousepad_application_get_type
/home/utente/Desktop/mousepad-master/mousepad/mousepad-window.h:
22 G_BEGIN_DECLS
23
24: #define MOUSEPAD_TYPE_WINDOW (mousepad_window_get_type ())
25 #define MOUSEPAD_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOUSEPAD_TYPE_WINDOW, MousepadWindow))
26 #define MOUSEPAD_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MOUSEPAD_TYPE_WINDOW, MousepadWindowClass))
..
44 typedef struct _MousepadWindow MousepadWindow;
45
46: GType mousepad_window_get_type (void) G_GNUC_CONST;
47
48 GtkWidget *mousepad_window_new (void);
/home/utente/Desktop/mousepad-master/mousepad/mousepad-application.h:
25 typedef struct _MousepadApplication MousepadApplication;
26
27: #define MOUSEPAD_TYPE_APPLICATION (mousepad_application_get_type ())
28 #define MOUSEPAD_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOUSEPAD_TYPE_APPLICATION, MousepadApplication))
29 #define MOUSEPAD_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MOUSEPAD_TYPE_APPLICATION, MousepadApplicationClass))
..
32 #define MOUSEPAD_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MOUSEPAD_TYPE_APPLICATION, MousepadApplicationClass))
33
34: GType mousepad_application_get_type (void) G_GNUC_CONST;
35
36 MousepadApplication *mousepad_application_get (void);
2 ответа
Функции *_get_type определяются макросом G_DEFINE_TYPE. Они также могут быть объявлены G_DECLARE_FINAL_TYPE или G_DECLARE_DERIVABLE_TYPE, но это не относится к коврику для мыши.
Проекты Xfce написаны на GTK+, поэтому вам нужно сначала изучить его, иначе некоторые части кода будут сбивать с толку. Вы можете найти множество учебных пособий для GTK+/GObject/GLib, и их документация (надеюсь) является исчерпывающей. Платформа разработки GLib/GTK+ - отличное начало для начинающих.
Эти символы, вероятно, определены в других заголовочных файлах проекта. Сделать $ grep -nr mousepad_window_get_type .
в каталоге вашего проекта. Это покажет вам все доступные использования слова mousepad_window_get_type. Однако вы, скорее всего, не найдете эти символы, определенные где-либо в проекте, так как я подозреваю, что они являются функциями, которые доступны в одной из библиотек, на которые вы ссылаетесь при компиляции вашего проекта.