开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
linux
问题(Question):
#define PAD_CTRL_BASE 0x800
#define OFFSET(x) (unsigned int) (&((struct pad_signals *)(PAD_CTRL_BASE))->x)
struct pad_signals {
int gpmc_ad0;
int gpmc_ad1;
int gpmc_ad2;
int gpmc_ad3;
int gpmc_ad4;
int gpmc_ad5;
...
}
例: 取值
OFFSET(gpmc_ad3);
请问OFFSET那边 是如何取到位移值的
看起来好像把 gpmc_ad3的位址 ,变成用int为单位
小弟看不是很懂..
请大大赐教