在C你可以做有沒有任何可能的方法將內存位置更改爲C中的共享內存?
shmid = shmget(SHMEM_KEY, sizeof(int*) * n , SHEMEM_MODE | IPC_CREAT);
int* shmem = shmat(shmid, NULL, 0);
先給予免費存儲空間分配爲共享內存。
有什麼辦法可以將當前內存空間分配爲共享內存?
在C你可以做有沒有任何可能的方法將內存位置更改爲C中的共享內存?
shmid = shmget(SHMEM_KEY, sizeof(int*) * n , SHEMEM_MODE | IPC_CREAT);
int* shmem = shmat(shmid, NULL, 0);
先給予免費存儲空間分配爲共享內存。
有什麼辦法可以將當前內存空間分配爲共享內存?
首先,我會建議不要使用老氣shmget
接口,但 更現代的POSIX接口shm_open
和mmap
(如果有的話, 你沒有指定你的系統)
然後mmap
讓你在你的地址空間 提出了一個地址,你想有段
這不正是你所要求的東西,但你可以 得到最接近的,我覺得
我不這麼認爲。我認爲(但不要引用我)私有內存和共享內存之間的區別在於它的位置。所以我不認爲你可以「分配」一個共享的內存位置。但是,我可能是錯的。 – 2010-09-08 08:14:08