Linux編程之路---共享內存

所有共享內存塊的大小都必須是系統頁面大小的整數倍。

                                                   ----------------------不知那門的定律


一、 共享內存編程的兩種標準

在Unix編程環境下,存在兩種不同的共享內存編程標準:一是POSIX標準,二是System V標準。這兩套標準提供的接口函數分別如下。

POSIX標準:

int shm_open(const char *name, int oflag, mode_t mode);

int shm_unlink(const char *name);

int ftruncate(int fd, off_t length);

System V標準:

int shmget(key_t key, int size, int shmflg);

void *shmat(int shmid, const void *shmaddr, int shmflg);

int shmdt(const void *shmaddr);

int shmctl(int shmid, int cmd, struct shmid_ds *buf);

由於POSIX標準比較通用,並且提供的接口函數也比較容易使用,一般情況下推薦使用POSIX標準進行共享內存編程。



發佈了28 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章