所需头文件 | #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> |
函数原型 | int shmget(key_t key, int size, int shmflg) |
函数传入值 | key:共享内存的键值,多个进程可以通过它访问同一个共享内存,其中有个特殊值IPC_PRIVATE。它用于创建当前进程的私有共享内存 |
size:共享内存区大小 | |
shmflg:同open()函数的权限位,也可以用八进制表示法 | |
函数返回值 | 成功:共享内存段标识符 |
出错:-1 |
所需头文件 | #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> | |
函数原型 | char *shmat(int shmid, const void *shmaddr, int shmflg) | |
函数传入值 | shmid:要映射的共享内存区标识符 | |
shmaddr:将共享内存映射到指定地址(若为0则表示系统自动分配地址并把该段共享内存映射到调用进程的地址空间) | ||
shmflg | SHM_RDONLY:共享内存只读 | |
默认0:共享内存可读写 | ||
函数返回值 | 成功:被映射的段地址 | |
出错:-1 |
所需头文件 | #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> |
函数原型 | int shmdt(const void *shmaddr) |
函数传入值 | shmaddr:被映射的共享内存段地址 |
函数返回值 | 成功:0 |
出错:-1 |
欢迎光临 DIY编程器网 (http://diybcq.com./) | Powered by Discuz! X3.2 |