-1

我正在尝试在内存中的特定位置创建一个结构:

struct inRAM *ptr = (struct inRAM*)malloc(sizeof(struct inRAM));

但是这条线仅在 RAM 中不可保留的位置分配内存。我需要从特定的内存地址开始 malloc 才能正常工作,但是如何?

4

1 回答 1

1

对于需要访问特定内存地址以进行 I/O 的嵌入式系统,通常直接写入该地址。

你不需要在这里 malloc,它用于管理你不关心它的位置的内存块或结构。

例如写入地址 c00010

ptr = c00010;
ptr->field = value;

此外,当使用覆盖在内存上的结构时,请注意填充和结构对齐。

于 2015-11-05T01:09:35.677 回答