当前位置: 技术问答>linux和unix
请问有函数可以判断我的结构体具体是什么类型的吗?
来源: 互联网 发布时间:2016-01-03
本文导语: 比如: msg_t* val_1; cmd_t* val_2; 有没有办法知道val_1是msg_t类型的而val_2是cmd_t类型的 或者只要知道它们是不是一种类型的结构体也可以的。 | 这两个是结构体指针吧?似乎很难办。 如果是结...
比如:
msg_t* val_1;
cmd_t* val_2;
有没有办法知道val_1是msg_t类型的而val_2是cmd_t类型的
或者只要知道它们是不是一种类型的结构体也可以的。
msg_t* val_1;
cmd_t* val_2;
有没有办法知道val_1是msg_t类型的而val_2是cmd_t类型的
或者只要知道它们是不是一种类型的结构体也可以的。
|
这两个是结构体指针吧?似乎很难办。
如果是结构体msg_t val_1; cmd_t val_2;可以使用 sizeof(val_1) == sizeof(val_2)判断,如果不等于,肯定是不同类型。当然,等于不一定是同一类型。不过这对于指针没用。
再就是 val_1 = val_2进行赋值,看有没有编译警告。
还有用 gdb 调试, whatis xxx 输出变量类型。
如果是结构体msg_t val_1; cmd_t val_2;可以使用 sizeof(val_1) == sizeof(val_2)判断,如果不等于,肯定是不同类型。当然,等于不一定是同一类型。不过这对于指针没用。
再就是 val_1 = val_2进行赋值,看有没有编译警告。
还有用 gdb 调试, whatis xxx 输出变量类型。