今天寫了一個
void Test(void* pdata, int32_t size){
int32_t i = 0;
for(i = 0 ; i <size ; i++){
*(uint32_t*)(pdata+i) = 1000*i;
}
}
然後 使用
uint32_t array[5];
Test(&array[0],5);
結果有問題 , 後來我花了大約二十分找到問題
*(uint32_t*)(pdata+i) = 1000*i;
結果我疏忽這裡在算位置時 不能加 i
要寫成 *(uint32_t*)(pdata+sizeof(uint32_t)*i) = 1000*i;
哈
沒有留言:
張貼留言