共享記憶體的使用方法

2021-10-08 22:51:23 字數 1357 閱讀 8783

使用共享記憶體的一般步驟:

(1)獲取共享記憶體的id;

(2)將共享記憶體對映到本程序虛擬記憶體空間的某個區域;

(3)不再使用時,接觸對映;

(4)不需要時,刪除它。

注意:建立的共享記憶體是物理記憶體,必須要對映到本程序的記憶體空間才能使用。

ipc_stat獲得的屬性資訊查詢課本或其他資料

**演示:

p1傳送資訊給p2

int

main()

else

//其他錯誤

}//對映得到首位址

char

*p=shmat

(shmid,

null,0

);if(p==

null

)//通過共享記憶體傳送資訊給p2

while(1

)//shmctl(shmid,ipc_rmid,null);//刪除共享記憶體

}

p2接收p1資訊:

int

main()

else

//其他錯誤

}//對映得到首位址

char

*p=shmat

(shmid,

null,0

);if(p==

null

)//訪問p1存放到共享記憶體中的資訊

while(1

)}

獲取共享記憶體屬性資訊:

#include

"myhead.h"

/* 獲取共享記憶體的屬性資訊

*/int

main()

else

//其他錯誤

}//定義結構體變數,用於存放獲取到的屬性資訊

struct shmid_ds myds;

//獲取你剛才申請成功的那個共享記憶體的屬性資訊

shmctl

(shmid,ipc_stat,

&myds)

;printf

("大小是:%ld\n"

,myds.shm_segsz)

;printf

("鍵值是:%x\n"

,myds.shm_perm.__key)

;printf

("許可權是:%o\n"

,myds.shm_perm.mode)

;}

NFS共享使用方法詳解。

nfs是freebsd支援的檔案系統中的一種,它允許網路中的計算機之間通過tcp ip網路共享資源 如果不是最小化安裝預設是安裝了的 可以service nfs start 啟動rpm ivh nfs utils 1.2.3 39.el6.x86 64.rpm vim etc exports nfs...

mmp函式(共享記憶體對映)使用方法以及注意事項

void mmap void addr,size t length,int prot,int flags,int fd,off t offset 建立共享記憶體對映 length 共享記憶體對映區的大小。檔案的實際大小,通常為檔案大小 prot 共享記憶體對映區的讀寫屬性。prot read 讀 p...

共享記憶體的使用

http download1.csdn.net down3 20070529 29183222619.chttp download1.csdn.net down3 20070529 29183246962.chttp download1.csdn.net down3 20070529 2918324...