bug-607243.c

来自「sdcc是为51等小型嵌入式cpu设计的c语言编译器支持数种不同类型的cpu」· C语言 代码 · 共 17 行

C
17
字号
/* bad shift right 12 */#include <testfwk.h>typedef unsigned int u16_t; struct myhdr { u16_t x; } h, *p; #define NTOHS(n) (((((u16_t)(n) & 0xff)) << 8) | (((u16_t)(n) & 0xff00) >> 8)) #define IPH_V(hdr) ((u16_t)NTOHS((hdr)->x) >> 12) void foo(void) {   p = &h;   p->x = 0x45;   ASSERT(IPH_V(p)==4);} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?