c - 共享内存如何与数组一起使用?

标签 c unix shared-memory

<分区>

我只是在学习共享内存,到目前为止我所学的一切都让我感到困惑。有人能告诉我共享内存如何处理数组吗?还有两个子进程如何访问所述数组?

最佳答案

您可以使用 shmat() 方法访问共享内存,

shmat() 语法是

void *shmat(int shmid, const void *shmaddr, int shmflg);

这将返回一个指针。

如果你想将它用作数组,那么分配如下所示

datatype array[size];
datatype* array = (datatype*)shmat(shmid, NULL, 0);

关于c - 共享内存如何与数组一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16331792/

相关文章:

c - 在 c 中使用 gnome libxml 库将 csv 文件转换为 xml 文件时遇到问题

linux - bash 在 tar 球中寻找文件名

linux - shm_open - 如何知道我是否打开了现有的共享内存

c# - 如何在不取消链接的情况下关闭 shm_open 文件描述符?

c - malloc的错误用法

c - 以编程方式在 Linux 中查找文件类型

unix - 获取 Go 语言中的 Unix 时间戳(当前时间,以秒为单位)

c++ - 有没有办法通过共享内存中的指针到达某个字节?

c++ - 从 unsigned char 生成十六进制

php - 如何编写可以修改 PHP 解释器内部结构的自定义 PHP 扩展?