摘要: 可以的。所以,以下代码就不正确了(修改:PROCESSOR_ARCHITECTURE_AMD64虽然看起来很硬件,但其实是一个软件层次上的tag,而且下面的代码没有问题): if (osvi.dwMajorVersion >= 6) { if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) Result = Result + " 64-bit"; else if (si.wProcessorArchitecture == ... 阅读全文
posted @ 2013-12-05 13:34 Tup 阅读(721) 评论(0) 推荐(0)
摘要: #define offsetof(s, m) (size_t)&(((s*)0)->m)注意:"&"这里是取地址符的意思,而不是位运算的与,害的我郁闷了很长时间。。说到底,一种欺骗战术。offsetof 求某个结构体的特定成员在结构体里面的偏移量(s *)0 是骗编译器说有一个指向类(或结构)s的指针,其值为0 &((s *)0)->m 是要取得类s中成员变量m的地址 由于这个类(或结构)的基址为0,这时m的地址当然就是m在s中的偏移了(s *)0 是把0地址转换为s指针类型,然后从这个指针上“取”m成员再取址,而m成员的地址转换后结果就 阅读全文
posted @ 2013-12-05 10:15 Tup 阅读(275) 评论(0) 推荐(0)