На the official website of gobject, мы можем прочитать:Каким образом gobject облегчает привязку?
GObject, и его тип системы более низкого уровня, GType, используются GTK + и большинством библиотек GNOME, чтобы обеспечить:
- объектно-ориентированный C-основе API-интерфейсы и
- автоматических привязок прозрачна API к другим собранным или интерпретируемых языков
Первая часть кажется мне понятной, но не второй.
Действительно, когда речь идет о gobject и binding, введенная концепция часто является gobject-intropspection, но насколько я понимаю, gobject-introspection может использоваться для создания .gir и .typelib для любой документированной библиотеки C, а не только для библиотеки на основе объектов.
Поэтому я задаюсь вопросом, что делает gobject особенно подходящим.
Спасибо, я не знал, что 'g-ir-scanner' использовал GObject таким образом. Что касается RTTI, это действительно полезно для не интерпретируемого языка? Он успешно используется в PyGObject, например, но имеет ли он смысл на компилированном языке? – eponier
Это имеет смысл, если вы/интерпретируете/динамически набираете /. Но ответ - да; это определенно * больше * полезно, когда у вас нет информации о статическом типе, но на C есть много случаев, где вы можете многократно переписывать один и тот же код, используя что-то вроде GValue или добавляя параметр GType. – nemequ
Не могли бы вы привести пример, иллюстрирующий ваше последнее предложение, пожалуйста? – eponier