c++ - 如何在 C++ 程序中使用我自己的对象实例

标签 c++ c gobject

我想知道如何在我的 C++ 代码中使用我自己创建的 GObject 对象。

我有一个用 C 编译的简单库,它定义了一个 GObject 对象,我想在我的 C++ 代码中使用这个定义的对象。

我在这里看到了一些例子 http://developer.gnome.org/gtkmm-tutorial/3.0/sec-basics-gobj-and-wrap.html.en ,其中文档介绍了如何从 C GTK+ API 函数获取 Gobject 对象实例。

我想做同样的事情,但使用从我的库创建的对象。

谢谢。

最佳答案

你总是可以扩展他们的 GObject 类并将其用作包装器,但问题是 GTK+ 库在内部使用 GObject 我不知道你为什么要替换它(并且它可能会提示你已经重新定义了某处的符号,或者不允许您使用自定义对象作为参数调用任何方法,因为如果您扩展它,类型将不匹配)。

如果您想将其用作包装器,您应该扩展 GObject 并编写一个接受 GObject(以及您需要的任何其他内容)的构造函数,并在每次需要时将 GObject 包装到您的自定义类中。

关于c++ - 如何在 C++ 程序中使用我自己的对象实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7061057/

相关文章:

c++ - strcpy() 没有正确复制 c++

c++ - 如何将 Gstreamer 程序转换为通过 udp 将视频流式传输到 Qt 程序中?

c - 如何在按键后立即读取终端的输入缓冲区

c - 它会定义结构的结构吗?

c - 如何用关键操作替换ClutterTexture?

c++ - Boost::Hana 元组,修改值的最佳方式

c++ - 如何在 Windows 窗体应用程序中显示 cv::Mat?

c++ - 预编译 R 包和使用 cppFunction() 本地获取的 Stark Rcpp 性能差异

python - 如何在 python 中使用 gexiv2?

c - 种子 JavaScript GObject 绑定(bind)的 "out parameters"是如何表示的?