struct QueueBuffer{<br /> Uint16 *aBufferStart;<br /> Uint16 *aBufferEnd;<br /> Uint16 *pIn;<br /> Uint16 *pOut;<br /> unsigned int mCount;<br />};<br /><br />struct QueueBuffer *Queue_Register(Uint16 *pQueueBufArry,unsigned int mSize)<br />{<br /> struct QueueBuffer *pQueueBuffer;<br /> Uint16 sQueue_size;<br /> //分配记录队列信息的结构变量<br /> pQueueBuffer=(struct QueueBuffer *)Memory_Malloc(sizeof(struct QueueBuffer)); <br /><br /> sQueue_size=sizeof(struct QueueBuffer);<br /> //记录队列信息的结构变量清0<br /> Memory_Memset((unsigned char *) pQueueBuffer,0,sQueue_size);<br /><br />//分配队列所需内存,这里使用编译器自动分配的内存<br /> pQueueBuffer->aBufferStart=pQueueBuffer->pIn=pQueueBuffer->pOut=pQueueBufArry;<br /> //队列结束指针<br /> pQueueBuffer->aBufferEnd=pQueueBuffer->aBufferStart+mSize;<br /> return pQueueBuffer;<br />}<br />看这句话<br />pQueueBuffer->aBufferStart=pQueueBuffer->pIn=pQueueBuffer->pOut=pQueueBufArry;<br />在这个语句中, pQueueBufArry的值是0x00010003,但是给pQueueBuffer->aBufferStart aBufferStart=pQueueBuffer->pIn赋值之后,pQueueBuffer->aBufferStart变成0x00030001.。。。。不知道为什么赋值不对?<br /><br /> |
|