使用共享記憶體的一般步驟:
(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...