/*******************************************
*共享記憶體mmap使用
*date : tue apr 8 14:53:43 cst 2014
********************************************/
#include extern "c"
using namespace std;
#define sem_file "sem_lock"
int main(int argc,char* argv)
}//開啟訊號量
int count = 0;
int nloop = 10;
sem_t* mutex;
mutex = sem_open(sem_file,o_creat,0666,1);
if(mutex == sem_failed)
int fd = open(filename.c_str(),o_creat|o_rdwr,0666);
if(fd == -1)
write(fd,&count,sizeof(int));//初始資料寫入檔案
//建立共享記憶體對映,共享記憶體可讀、寫,以共享方式建立
int* ptr = (int*)mmap(null,sizeof(int),prot_read|prot_write,map_shared,fd,0);
close(fd);//關閉檔案描述符
if(fork() == 0)
exit(0);
}//parent
for(int i = 0;i < nloop;i++)
return 0;
}/*****************************************
*父子程序間共享記憶體,可以匿名記憶體對映
*,簡化步驟,mmap建立的標誌需要加上map_anon
****************************************=*/
/*******************************************
*共享記憶體mmap使用
*date : tue apr 8 14:53:43 cst 2014
********************************************/
#include extern "c"
using namespace std;
#define sem_file "sem_lock"
int main(int argc,char* argv)
//建立共享記憶體對映,共享記憶體可讀、寫,以共享方式建立
int* ptr = (int*)mmap(null,sizeof(int),prot_read|prot_write,map_shared|map_anon,-1,0);
if(ptr == null)
*ptr = 0;//初始值
if(fork() == 0)
exit(0);
}//parent
for(int i = 0;i < nloop;i++)
return 0;
}
共享記憶體的使用
http download1.csdn.net down3 20070529 29183222619.chttp download1.csdn.net down3 20070529 29183246962.chttp download1.csdn.net down3 20070529 2918324...
PHP共享記憶體的使用
php有兩套使用共享記憶體的函式,一套是system v ipc函式的封裝,另一套是shmop。這兩個都無需安裝外部庫檔案。前者只能在linux下使用,而且要使用它的話,在安裝php的時候要加上 enable sysvshm選項 而後者在linux和windows win2k之後的系統,win98不...
boost共享記憶體的使用
目錄 boos的安裝 windows 2 解壓到本地 3 編譯boost 4 vs工程屬性配置 boost共享記憶體封裝 標頭檔案cpp檔案 例項 解壓後資料夾下有個bootstrap.bat指令碼檔案 開啟cmd,進入解壓好的boost目錄,執行bootstrap.bat,此時會生成b2.exe ...