我必须在一个多核DSP中使用多核共享内存(MSMC)。我知道那个内存的起始地址及其大小。现在我想分配一些数组(我已经将它们声明为指针以便以后可以释放内存)从特定地址开始并根据它们的大小使用内存。我怎么能在C中做到这一点?
答案 0 :(得分:0)
如果它是静态内存而不需要分配或释放,只需指向它并使用它。
void * myArray = STATIC_MEMORY_ADDRESS;
如果你确实需要分配和免费...你真的需要一个知道那是池的malloc例程。 Here is a stack overflow question for implementing malloc。我已经看到了一些malloc implmentations,其中大部分将让你告诉它使用哪个内存池。
如果您打算使用多个线程/核心,请确保您的malloc例程具有互斥锁。