我必须在一个多核 DSP 中使用多核共享内存 (MSMC)。我知道该内存的起始地址及其大小。现在我想分配一些数组(我已将它们声明为指针,以便稍后可以释放内存),从特定地址开始并根据其大小使用内存。我怎样才能在 C 中做到这一点?
最佳答案
如果是静态内存,无需分配或释放,只需指向它并使用即可。
void * myArray = STATIC_MEMORY_ADDRESS;
如果您确实需要分配和释放..您确实需要一个知道那是池的 malloc 例程。 Here is a stack overflow question for implementing malloc 。我见过一些 malloc 实现,其中大多数都会让您告诉它要使用哪个内存池。
如果您要使用多个线程/核心..请确保您的 malloc 例程具有互斥锁。
关于c - 如何使用 C 中的指针分配从特定地址开始的计算内存块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29529981/