c - 在内存中的特定点 Malloc 结构体?

标签 c struct malloc nrf51

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

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/

相关文章:

python - 多线程环境下Python<->Cython<->C之间的通信

c++ - 将唯一的 int 数组映射到范围 0..n 的索引的哈希函数

C编程: Struct array construction while reading a file

在 ubuntu 16.04 上配置 apache 模块

c - 在c中通过tcp套接字发送结构

c - 取消引用指向不完整类型的指针

c - c中的memset结构数组时出现段错误

ios - NSMutableDictionary 有两个指向同一对象的键导致 "double free"异常

用信号清除动态分配的数据

c - 使用 free() 函数