调试信息unused=???是什么意思? rbbi.hbmBack = 0x5a053b7f {unused=??? } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是系统句柄定义的一个小技巧,用来解决编译和类型转换的问题。句柄本身只是一个无意义的整数,多数情况下HANDLE被定义成void*,但某些句柄之间有逻辑上的类似“继承”的关系,比如GDI中的资源对象句柄,“基类”句柄就是HGDIOBJ,“派生类”句柄包括HBITMAP/HICON/HFONT/HPEN/HBRUSH等等,它们都是HGDIOBJ句柄。如果还是采用void*的方式定义,句柄之间是可以随意转换类型的,为了让编译器能阻止某些句柄的随意转换,部分句柄不再采用void*方式定义,而是使用结构体指针,结构的好处是能派生,编译器可以实现合法的类型转换,同时阻止不合法的类型转换。怎么定义代表句柄的结构体呢?因为句柄本身还是一个无意义的整数值,所以在结构体中定义任何成员都是无意义的,但是为了占位,在结构体中使用了一个unused成员,其实就是告诉你这个成员也是不使用的,无意义的。但你调试的时候,调试器并不知道这个结构体指针是一个句柄,仅把它当做一个普通的结构体,所以会尝试显示unused成员,至于显示???是因为句柄(指针)是一个非法指针,比如0x00008000,调试器是不会读取任何非法指针指向的内存数据的,仅显示???。 win32用gdi怎么实现场景切换 Programming Windows with MFC 2rd source code何处寻? 在ADO数据绑定后如何判断记录的某个域的值为NULL? 招一个VC程序员 如何刷新快捷方式的图标? 关于open,save as,的 对话框的问题! 再问有关API Hook的问题 一个简单而又奇怪的问题,大家遇到过吗? 急求:有人实现过纯文本抽取功能吗?? 对光驱使用的控制问题 vc中怎样修改类名? Microsoft Access 数据库引擎找不到输入表或查询“abcd”
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货