Glib 铸造宏

发布于 2024-11-03 18:20:10 字数 314 浏览 2 评论 0原文

Gtk 有转换宏,允许它更改 gtk 对象的类型:

GTK_WIDGET(gtktoolbox);

Glib 以类似的方式工作(据我所知),但我找不到数据类型的宏:

G_INT(); // doesn't work
GINT(); // doesn't work
// etc

什么是 glib 转换宏?或者我应该使用(type)变量来代替?

我认为这些宏的全部目的是为了降低风险?或者这仅适用于 gtk 对象,因为它们的类型很复杂?

Gtk has casting macros that allow it to change a gtk object's type:

GTK_WIDGET(gtktoolbox);

Glib works in a similar way (As far as I can tell) but I can't find the macros for data types:

G_INT(); // doesn't work
GINT(); // doesn't work
// etc

What are the glib casting macros? Or should I just use (type) variable instead?

I thought the whole point of these macros was to make that less risky? Or did that only apply to gtk objects because of their complex type?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帅冕 2024-11-10 18:20:10

GTK+ 使用一些魔法来进行动态类型检查和类型安全转换。
http://openbooks.sourceforge.net/books/wga/gtk.html#AEN194
这适用于 GTK 对象,但不适用于原始类型,例如 int。只需使用 (int) var 即可。

GTK+ uses some magic to do dynamic type checking and type safe casts.
http://openbooks.sourceforge.net/books/wga/gtk.html#AEN194
This works for the GTK objects, but not for primitive types, like int. Just use (int) var instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文