高手们,帮我看看这段代码什么意思?
typedef unsigned charu8;
typedef unsigned shortu16;
typedef unsigned intu32;
#define MC_PCC_FILL_STRUCT3 u8:0; u8:8; u8:8; u8:8; u8:0;
typedef struct __alg { char c; MC_PCC_FILL_STRUCT3 void * p; } __alg_t;
#define MC_PPC_DISTANCE_OF(S,F) (unsigned) (&(((S *) 0)-> F))
#define ALIGNMENT (MC_PPC_DISTANCE_OF(__alg_t, p) - 1)
#define ALIGN(P) ( (u32) ((char *)(P) + ALIGNMENT) & ~ALIGNMENT)
#define STACK0_SIZE 1000
#define INTERRUPT_STACK_SIZE 5000
u8 InterruptStack[ALIGN( INTERRUPT_STACK_SIZE )];
u8 stack_task0[ALIGN (STACK0_SIZE) ];
数组的定义里面为什么要加ALIGN,有什么作用?
[解决办法]
不可以,你仔细揣摩一下ALIGN的功能吧,和直接赋值还是有区别的!
[解决办法]
arm核分为有mmu和无mmu的,对于无mmu的不指定开始地址程序就飞了。。。。例如arm7TDMI