我正在尝试在内存中的特定位置创建一个结构:
struct inRAM *ptr = (struct inRAM*)malloc(sizeof(struct inRAM));
但是这一行仅在 RAM 中不可保留的位置分配内存。我需要从特定内存地址开始进行 malloc 才能正常工作,但是如何进行呢?
最佳答案
对于需要访问 I/O 特定内存地址的嵌入式系统,通常直接写入该地址。
您不需要在这里进行 malloc,它用于管理内存块或结构,您不关心它位于何处。
例如写入地址 c00010
ptr = c00010;
ptr->field = value;
此外,当使用覆盖到内存上的结构时,请注意填充和结构对齐。
关于c - 在内存中的特定点 Malloc 结构体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534874/