1: maqingnian 发表于 2006-8-10 16:08 侃单片机 ←返回版面
209楼: 回复clownabcd
我也有你的疑问。根据所长的注释,我觉得应该是这样的。 extern void Memory_Init(unsigned char *pRamPara) Memory.c里 void Memory_Init(unsigned char *pRamPara) { pRamEnd=pRamPara; } 是这样么? 2:unsigned char idata *Memory(unsigned char mSize) { pRamEnd-=mSize; return pRamEnd; } 这里是在每个模块中都对内存进行分配的么?mSize还要自己计算的么? 3:前面有个enmu MSG_HEAD{.....eMSG_End,} 后面 三InMsg.aMessage_Function=(void*)Memory_Malloc(sizeof(void*)*eMSG_End)); void*是转换为空类型的指针,这里的*eMSG_End如何理解?该句应该是分配给eMSG_End所占字节数的内存么? 4:struct InMsg{void (**aMessage_Function)(),} (*aMessage_Function)()是函数指针,但是这里两个* 号是什么意思? |