Size: a a a

2021 February 11

☭k

☭ ktrace in supapro.cxx
#define G_UDEV_DEVICE(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_UDEV_TYPE_DEVICE, GUdevDevice))
источник

AF

Aidar Fattakhov in supapro.cxx
а дальше?
источник

☭k

☭ ktrace in supapro.cxx
#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
источник

☭k

☭ ktrace in supapro.cxx
ну это glib-овские макросы
источник

D

Danya in supapro.cxx
☭ ktrace
(GUdevDevice *) xxx - работает, G_UDEV_DEVICE(xxx) - сегфолтится
Ну так ты посмотри вывод после препроцессора
источник

AF

Aidar Fattakhov in supapro.cxx
ну и че ты хочешь тогда?
источник

D

Danya in supapro.cxx
Там вряд ли простой тайп каст)
источник

AS

Anatoly Shirokov in supapro.cxx
☭ ktrace
#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
_G_TYPE_CIC?
источник

LA

Liber Azerate in supapro.cxx
anton
почему бы потом по ним не пройти в цикле?
А если между этими значениями будет сильный разрыв?
источник

☭k

☭ ktrace in supapro.cxx
/usr/include/glib-2.0/gobject/gtype.h-#ifndef G_DISABLE_CAST_CHECKS
/usr/include/glib-2.0/gobject/gtype.h:#  define _G_TYPE_CIC(ip, gt, ct) \
/usr/include/glib-2.0/gobject/gtype.h-    ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
/usr/include/glib-2.0/gobject/gtype.h-#  define _G_TYPE_CCC(cp, gt, ct) \
/usr/include/glib-2.0/gobject/gtype.h-    ((ct*) g_type_check_class_cast ((GTypeClass*) cp, gt))
/usr/include/glib-2.0/gobject/gtype.h-#else /* G_DISABLE_CAST_CHECKS */
/usr/include/glib-2.0/gobject/gtype.h:#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) ip)
/usr/include/glib-2.0/gobject/gtype.h-#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) cp)
/usr/include/glib-2.0/gobject/gtype.h-#endif /* G_DISABLE_CAST_CHECKS */
источник

D

Danya in supapro.cxx
☭ ktrace
/usr/include/glib-2.0/gobject/gtype.h-#ifndef G_DISABLE_CAST_CHECKS
/usr/include/glib-2.0/gobject/gtype.h:#  define _G_TYPE_CIC(ip, gt, ct) \
/usr/include/glib-2.0/gobject/gtype.h-    ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
/usr/include/glib-2.0/gobject/gtype.h-#  define _G_TYPE_CCC(cp, gt, ct) \
/usr/include/glib-2.0/gobject/gtype.h-    ((ct*) g_type_check_class_cast ((GTypeClass*) cp, gt))
/usr/include/glib-2.0/gobject/gtype.h-#else /* G_DISABLE_CAST_CHECKS */
/usr/include/glib-2.0/gobject/gtype.h:#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) ip)
/usr/include/glib-2.0/gobject/gtype.h-#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) cp)
/usr/include/glib-2.0/gobject/gtype.h-#endif /* G_DISABLE_CAST_CHECKS */
И что это?)
источник

☭k

☭ ktrace in supapro.cxx
сейчас
источник

☭k

☭ ktrace in supapro.cxx
5 сек
источник

D

Danya in supapro.cxx
Serhii Herashchenko
а как вообще можно итерироваться по енуму?
источник

☭k

☭ ktrace in supapro.cxx
Danya
И что это?)
греп по макросу
источник

D

Danya in supapro.cxx
☭ ktrace
греп по макросу
Зачем нам это?
источник

АК

Александр Караев... in supapro.cxx
☭ ktrace
/usr/include/glib-2.0/gobject/gtype.h-#ifndef G_DISABLE_CAST_CHECKS
/usr/include/glib-2.0/gobject/gtype.h:#  define _G_TYPE_CIC(ip, gt, ct) \
/usr/include/glib-2.0/gobject/gtype.h-    ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
/usr/include/glib-2.0/gobject/gtype.h-#  define _G_TYPE_CCC(cp, gt, ct) \
/usr/include/glib-2.0/gobject/gtype.h-    ((ct*) g_type_check_class_cast ((GTypeClass*) cp, gt))
/usr/include/glib-2.0/gobject/gtype.h-#else /* G_DISABLE_CAST_CHECKS */
/usr/include/glib-2.0/gobject/gtype.h:#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) ip)
/usr/include/glib-2.0/gobject/gtype.h-#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) cp)
/usr/include/glib-2.0/gobject/gtype.h-#endif /* G_DISABLE_CAST_CHECKS */
ну вот ведь g_type_check_class_cast
источник

C

Chuvi in supapro.cxx
А можем ли мы итерироваться по полям структуры?
источник

D

Danya in supapro.cxx
Я же сказал, посмотри вывод препроцессора
источник

АК

Александр Караев... in supapro.cxx
Chuvi
А можем ли мы итерироваться по полям структуры?
magic_get с ограничениями
источник