社区
Linux/Unix社区
帖子详情
关于共享内存的的问题~
bm1408
2006-05-11 09:22:14
最近在弄一个程序,要使用共享内存,要求很简单,就是父进程写进信息,子进程读出来
大家给一个例子吧
比如说:
struct student
{
int id;
char name[`11];
}STU[MAX];
父进程把这个结构体信息放入共享内存中,然后子进程读出并修改,
大家给个例子~~~
...全文
162
1
打赏
收藏
关于共享内存的的问题~
最近在弄一个程序,要使用共享内存,要求很简单,就是父进程写进信息,子进程读出来 大家给一个例子吧 比如说: struct student { int id; char name[`11]; }STU[MAX]; 父进程把这个结构体信息放入共享内存中,然后子进程读出并修改, 大家给个例子~~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
x86
2006-05-11
打赏
举报
回复
#include <stdlib.h>
#include <sys/shm.h>
#define ARRAY_SIZE 40000
#define MALLOC_SIZE 100000
#define SHM_SIZE 100000
#define SHM_MODE 0600 /* user read/write */
char array[ARRAY_SIZE]; /* uninitialized data = bss */
int
main(void)
{
int shmid;
char *ptr, *shmptr;
printf("array[] from %lx to %lx\n", (unsigned long)&array[0],
(unsigned long)&array[ARRAY_SIZE]);
printf("stack around %lx\n", (unsigned long)&shmid);
if ((ptr = malloc(MALLOC_SIZE)) == NULL)
printf("malloc error\n");
printf("malloced from %lx to %lx\n", (unsigned long)ptr,
(unsigned long)ptr+MALLOC_SIZE);
if ((shmid = shmget(IPC_PRIVATE, SHM_SIZE, SHM_MODE)) < 0)
printf("shmget error\n");
if ((shmptr = shmat(shmid, 0, 0)) == (void *)-1)
printf("shmat error\n");
printf("shared memory attached from %lx to %lx\n",
(unsigned long)shmptr, (unsigned long)shmptr+SHM_SIZE);
if (shmctl(shmid, IPC_RMID, 0) < 0)
printf("shmctl error\n");
exit(0);
}
Android专用驱动
Ashmem是一个
共享内存
驱动,它与传统的
共享内存
相比,最大的特点是它是通过文件描述符来描述的,并且可以动态地进行分块管理。动态分块管理的目的是可以将部分不再使用了的内存交回给系统,非常适合内存较小的移动...
python
共享内存
SharedMemory
该模块提供了一个SharedMemory类,用于分配和管理多核或对称多处理器(SMP)机器上进程间的
共享内存
。为了协助管理不同进程间的
共享内存
生命周期,multiprocessing.managers模块也提供了一个BaseManager的子类:...
python
共享内存
linux
共享内存
python
共享内存
共享内存
(Shared Memory)是最简单的进程间通信方式,它允许多个进程访问相同的内存,一个进程改变其中的数据后,其他的进程都可以看到数据的变化。
共享内存
是进程间最快速的通信方式: `进程...
java
共享内存
_Java
共享内存
1
共享内存
对应应用开发的意义对熟知UNIX系统应用开发的程序员来说,IPC(InterProcessCommunication)机制是非常熟悉的,IPC基本包括
共享内存
、信号灯操作、消息队列、信号处理等部分,是开发应用中非常重要的必不可...
共享内存
的使用
这是Linux
共享内存
的创建函数,调用该函数后Linux的内核就可以申请一块内存,并且
共享内存
是以”页”作为单位,一页等于4KB = 4096bytes,所以在创建
共享内存
的时候大小最好是4KB的整数倍。shmctl是删除
共享内存
的...
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章