System V共享記憶體

2021-08-05 20:19:48 字數 1017 閱讀 3723

標頭檔案

#include

#include

intshmget(key_t key, size_t

size, int

shm***)

功能:用來建立共享記憶體

引數:a)        key:這個共享記憶體段名字

b)       size:共享記憶體大小

c)        shm***:由幾個許可權標誌構成,他們的用法和建立檔案時使用的model模式標誌是一樣的

返回值:成功返回乙個非負整數,即該共享記憶體段的標誌碼,失敗返回-1

void *shmat(int shimid,const

void*shmaddr, int shm***);

引數:a)        shmid:共享記憶體標識

c)        shm***:它的兩個可能取值是shm_rnd和shm_rdonly

返回值:成功返回乙個指標,指向共享記憶體的第乙個單元,失敗返回-1。

int shmdt(const void *shmaddr);

功能:刪除共享記憶體

寫端:

#include#include#include#include#include#include#include#include#include#include#include#define err_exit(m) dowhile(0)

typedef struct stu

stu;

int main(int argc,char *argv)

讀端:

#include#include#include#include#include#include#include#include#include#include#include#define err_exit(m) dowhile(0)

typedef struct stu

stu;

int main(int argc,char *argv)

System V 共享記憶體

一.共享記憶體資料結構 對於每個共享記憶體區,核心維護如下資訊結構,定義在,在ubuntu中路徑 usr include linux shm.h 二.system v共享記憶體函式 include include int shmget key t key,size t size,int shm vo...

共享記憶體System V

system v 共享記憶體區 對於每個共享記憶體區,核心維護如下的資訊結構 obsolete,used only for backwards compatibility and libc5 compiles struct shmid ds struct shmid ds 共享記憶體操作api 0....

System V共享記憶體

struct shmid ds include include int shmget key t key,size t size,int shm void shmat int shmid,const void shmaddr,int shm int shmdt const void shmaddr ...