c - 如何使用 C 中的指针分配从特定地址开始的计算内存块

标签 c pointers memory

我必须在一个多核 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/

相关文章:

c - 从文件中读取数字并计算总和和平均值

c++ - 指针类型转换

c - 函数中malloc的面试

c - Linux 中的原子写入

c - 什么时候可以将原子读取-修改-写入操作分解为组成宽松的操作+屏障?

c - 给char指针赋值,但是说Access violation writing location

c++ - 在C++中,fscanf如何分配内存地址?

java - 在windows/linux上使用java提取CPU使用率、内存使用率和网络利用率

ios - 'NSData dataWithContentsOfURL :' memory leak iOS 9. x?

c - 如何计算 CRC32 校验和?