📄
字号:
//shmcreate.c
/************************************************************
* 用共享内存区的方法实现进程间通信的例子
* example2-07.c example2-08.c example2-09.c example2-10.c
************************************************************/
/************************************************************
* 本例创建一个指定大小的共享内存区 example2-07.c
************************************************************/
/******************************************************************
* 调用shmget创建由用户指定的名字和大小的共享内存区。
其中,通过fork函数将得到的路径名转化为一个key值。
* 通过shmat函数把该内存区附接到当前进程的地址空间,然后本程序终止。
******************************************************************/
#include <STDLIB.H>
#include <SYS types.h>
#include <SYS ipc.h>
#include <SYS shm.h>
#define SVSHM_MODE (SHM_R | SHM_W | SHM_R >> 3 | SHM_R >> 6)
int
main(int argc, char **argv)
{
int id;
char *ptr;
size_t length;
if ( argc < 2)
printf("usage: shmcreate <PATHNAME> <LENGTH>\n");
length = atoi(argv[2]);
id = shmget(ftok(argv[1], 0), length, SVSHM_MODE | IPC_CREAT);
ptr = shmat(id, NULL, 0);
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -