2
を生産している、次のエラーを実行しようとしたとき、私はCを使用して、メモリ・マップを作成C:MMAPに失敗しました:いいえ、そのようなデバイス
void* mem_map = mmap(NULL,
sizeof(serverData), //200000
PROT_READ | PROT_WRITE,
MAP_SHARED,
mem_map_fp,
0);
if(mem_map == MAP_FAILED){
bail_out(EXIT_FAILURE, "mmap");
}
プログラムのコンパイルコマンドをしようとしましたが:
mmap: No such device
私の理解によれば、その理由がもう少し複雑かもしれないと疑わせるコードには何も問題はありません。私はあなたがオフセット用のファイルディスクリプタと0
ため-1
標準の引数とともに、MAP_ANON
またはMAP_ANONYMOUS
フラグを使用する必要がありますので、あなたは、メモリを割り当てるしようとしていると仮定し
Linux ubuntu 4.2.0-16-generiC#19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
いいえ、目標は複数のプロセスが使用する共有メモリを作成することで、 – nitowa
私はあなただけで、その後、私の例では、 'MAP_SHARED'に' MAP_PRIVATE'を変更する必要があると思います。 – sputnik
これはまさに行方不明で、うまくいった! – nitowa