共享記憶體函式知識

2021-07-25 12:02:10 字數 1076 閱讀 7790

(1)shmget:

標頭檔案:#include #include

作用:建立共享記憶體

原型:int shmget (key_t key,int size, intshm***);

引數:

key:鍵值,可以為0  也可以為ipc_private 新的共享記憶體。

size:記憶體大小;

返回值:成功返回共享記憶體的識別符號;失敗返回 -1。

(2)shmat

作用:對映共享記憶體到各自的程序。

原型:char *shmat(int shmid,char *shmaddr,int flag);

引數:

shmid:shmget函式返回的共享記憶體識別符號。

flag:通常為0;0代表的是共享空間可讀寫,shm_rdonly 共享記憶體唯讀;

shmaddr:指定的共享記憶體到對映的位址,如果是null,由核心自動分配。

(3)shmdt:

作用:從程序中分離共享記憶體,

原型:int shmdt(const char *shmaddr);

返回值:成功是0;失敗是-1;

Linux system V共享記憶體函式

共享記憶體區是最快的ipc形式。一旦這樣的記憶體對映到共享他的程序的位址空間,這些程序間資料傳遞不再涉及到核心。示意圖 原理 在物理記憶體開闢空間,對映。共享記憶體函式 shmget int shmget key t key,size t size,int shm 功能 建立共享記憶體。key 共享...

共享記憶體的相關知識

共享記憶體實現分為兩個步驟 1 建立共享 開啟共享記憶體,使用shmget函式 2 對映共享記憶體,將這段建立的共享記憶體對映到具體的程序空間去,使用shmat函式 3.分離共享記憶體 4.控制 刪除共享記憶體 共享記憶體的函式實現 共同標頭檔案 include include include1.s...

php共享記憶體相關函式

共享記憶體函式類似於檔案操作函式,但無需處理乙個流,您將處理乙個共享記憶體訪問 id。param int key 標識系統中的共享記憶體段的數字 parma string flags 訪問模式,它非常類似於fopen函式的訪問模式 param int mode 記憶體段的許可權。您必須在這裡提供乙個...