代码
//文件名shmdata.c 定义结构体为共享内存服务
#define TEXT_SZ 2048
struct shared_use_st
{
int written;
char text[TEXT_SZ];
};
//读进程
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/shm.h>
#include<string.h>
#include"shmdata.c"
int main()
{
int running = 1;
void *shm = NULL;
struct shared_use_st *shared;
int shmid;
//创建共享内存
shmid = shmget((key_t)1234,sizeof(struct shared_use_st),0666|IPC_CREAT);
if(shmid == -1)
{
fprintf(stderr,"shmget failed\n");
exit(EXIT_FAILURE);
}
//映射
shm = shmat(shmid,0,0);
if(shm == (void *)-1)
{
fprintf(stderr,"shmat failed\n");
exit(EXIT_FAILURE);
}
printf("\n memary attached at %p\n",shm);
shared = (struct shared_use_st *)shm;
shared->wri