0
int shmCreate(int id, int size)
{
int shmid
key_t key;
if ((key = ftok(".", id)) == -1) {
perror("ftok");
exit(1);
}
if ((shmid = shmget(key, size, IPC_CREAT | 0666)) == -1) {
perror("shmget");
exit(1);
}
return shmid;
}
shmget
を使用する関数を作成しようとしています。私は無効な引数のエラーは、サイズ= 1を除いて、すべての時間を取得しています。私はエラーが、私はipcs -mをチェックするときにメモリセグメントが作成され、1のサイズを持っています。私はこのエラーを取り除く?たshmgetのマニュアルページによればC linux shmget無効な引数
'key'の値は何ですか?つまり、' ftok'が失敗しなかったのでしょうか? – bruceg
84008723、それは違いがありますか?いいえ、 – damian241132
が '-1'なら失敗していないので、' ftok'が失敗したことを意味します。エラーの呼び出しをチェックするのは常に賢明です。 – bruceg