Malloc 内存中特定点的结构?
Malloc a struct at a specific point in memory?
我正在尝试在内存中的特定位置创建结构:
struct inRAM *ptr = (struct inRAM*)malloc(sizeof(struct inRAM));
但是这一行只是在RAM中不可保留的地方分配内存。我需要从特定内存地址开始 malloc 才能正常工作,但是如何?
对于需要为 I/O 访问特定内存地址的嵌入式系统,您通常直接写入该地址。
这里不需要 malloc,它用于管理内存块或结构,您不关心它位于何处。
例如写入地址 c00010
ptr = c00010;
ptr->field = value;
此外,当使用覆盖在内存上的结构时,请注意填充和结构对齐。
我正在尝试在内存中的特定位置创建结构:
struct inRAM *ptr = (struct inRAM*)malloc(sizeof(struct inRAM));
但是这一行只是在RAM中不可保留的地方分配内存。我需要从特定内存地址开始 malloc 才能正常工作,但是如何?
对于需要为 I/O 访问特定内存地址的嵌入式系统,您通常直接写入该地址。
这里不需要 malloc,它用于管理内存块或结构,您不关心它位于何处。
例如写入地址 c00010
ptr = c00010;
ptr->field = value;
此外,当使用覆盖在内存上的结构时,请注意填充和结构对齐。