gpt4 book ai didi

c - "Correct"使用 GTK 为 g_signal_connect() 进行转换?

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:33 26 4
gpt4 key购买 nike

g_signal_connect() 需要一个 gpointer、一个字符常量、一个 GCallback 和另一个 gpointer 作为参数.

我正在阅读 Foundations of GTK+ 这本书,我突然想到作者倾向于将第一个参数转换为 G_OBJECT,将最后一个参数转换为 (gpointer ),即使两者都在函数签名中定义为 gpointer,并且两个参数都是 GtkWidget

那么,哪个(如果有的话)最适合这个函数?使用两种不同的类型转换似乎很奇怪。

最佳答案

您不必为第一个参数使用 G_OBJECT() 转换宏:GSignal API 不需要 GObject — 它可以与任何 GTypeInstance 实现一起使用。

您也不需要将最后一个参数转换为 gpointer,除非您使用的是 C++ 编译器; gpointervoid * 的类型定义,指针大小类型和 void * 之间的转换在 C 中是隐式的。

关于c - "Correct"使用 GTK 为 g_signal_connect() 进行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21128460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com