请教马老师 关于结构体变量的偏移地址 宏调用 以及 整形和指针类型的转换
这个是结构体:typedef struct _FAT_DIR_INFO {
.....
UINT8 DIR_Attr;
....
UINT16 DIR_FstClusHI;
} FAT_DIR_INFO;
这个是取结构体偏移:
#define STRUCT_OFFSET( s, m ) ( (UINT8)( & ( ((s *)0) -> m ) ) )
这个是调用到地方:
s = STRUCT_OFFSET( FAT_DIR_INFO, DIR_FstClusHI );
编译器用的是winavr pn编译
这里是编译报错:
warning: cast from pointer to integer of different size
类型不匹配
但是我找不到问题怎么解决 希望马老师指点一下 谢谢! 我调试了下 指针转换应该先转成2字节整形 再转uint8
页:
[1]