我正在尝试实现 ARM/DSP 共享内存通信。ARM 端将一个数据块放在共享内存上(我们将其命名为 array[]),并将块的地址和大小发送到 DSP 端,DSP 端只是读取它们。在 DSP 方面,
void * buf //address of block on shared memory
int length //size of block
但是,当我尝试阅读它们时,我得到的实际上是:
buf[0] = length
buf[1] = array[1]
buf[2] = array[2]
buf[3] = array[3]
:
:
:
看起来好像长度变量覆盖了数组的第一个单元格(这有点奇怪),或者我以错误的方式使用了 void 指针。有什么建议么?