No.6ベストアンサー
- 回答日時:
IPC_ALLOC は、どうやら、単に 0 と定義されているマクロではなさそうですね。
http://www-igm.univ-mlv.fr/~dr/HEVEA/
なので、mode_t mode = SHM_R | SHM_R >> 3 | SHM_R >> 6; (適当に決めたアクセスモード)として、
shmget(1234, 0, mode);
と、
shmget(1234, sizeof(int), IPC_ALLOC | mode);
の意味は違うかもしれませんね^^ 上の方は単に存在すればよく、下の方は存在してかつ size をチェックし size が同じ(あるいはそれ以上)という意味になるのかもしれません。移植性を考慮するなら、IPC_ALLOC は使わないほうがいいと思いますけれど…^^
レスがあまりないので、表示通りに「困って」る風には思えないので、まあいいんでしょうけど(笑)参考までに^^
No.5
- 回答日時:
お使いの環境は solaris(なつかしい^^)ですか?今は、どのUnix OSでも存在するのかな?
http://search.luky.org/linux-users.0/msg00218.html
でもまあ、移植性を重要視するなら、IPC_CREAT と IPC_EXCL その他モード指定マクロのみ使ったほうがいいような感じもします。
No.4
- 回答日時:
そうなんですか。
じゃあ、IPC_ALLOC は、単に 0 と定義されてるマクロですかね。POSIX でも規定されてるのかしら?^^『IPC_ALLOCは既に存在するものを使うこと』を意味するなら、size 引数は 0 にしないといけないんじゃないですかね?^^
わたしは、IPC_CREAT | IPC_EXCL というのは使ったことはありますけど^^ これは、存在しなければ作るが、存在すればエラーにする、という意味だったと思います。
No.1
- 回答日時:
shmget(key, size, shmflg) の第2引数の size は、共有メモリ領域の最小サイズを指定します。
新たな領域(たとえば、サーバ側で)を作成する場合は、実際に取りたい領域のサイズ以上のものを指定しないといけない。既存の領域(たとえば、クライアント側で)を参照する場合は、size に 0 を指定するんだと思いますよ。なので、ankomoti のおっしゃるとおり、アタッチしたいだけなら、0 と指定すべきだと思います。ところで、IPC_ALLOC なんてのはありましたっけ?^^; IPC_CREAT ですか??
この回答への補足
早速のコメントありがとうございます。
IPC_ALLOCは既に存在するものを使うことを指示します。存在し
なければエラーらしいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# sprintf()の使い方について 1 2022/08/17 16:16
- 建設業・製造業 アルミ板や鋼板における定尺サイズは、なぜそのサイズを採用しているのでしょうか? アルミ板の場合、メー 2 2022/09/17 16:53
- その他(ビジネス・キャリア) 製造業の倉庫でのQC発表テーマなにか参考になるものありますか? 金属板の加工をしています。 そこの倉 1 2022/10/12 12:43
- USBメモリー・SDカード・フラッシュメモリー 銀行が振込データの受け渡しに未だにFDを使っている理由は「FDDがAドライブ固定だから」って本当? 11 2022/06/02 03:53
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- 工学 汎用ブザーについて詳しい方、教えてください 1 2022/11/17 12:02
- 画像編集・動画編集・音楽編集 動画ファイル(ISO)ファイルを圧縮するフリーソフトはありますか? 12 2023/08/06 10:46
- その他(Microsoft Office) オフィス365のエクセル 3 2023/06/29 13:10
- CPU・メモリ・マザーボード 「コンピューターのメモリが不足しています」 3 2022/12/15 22:07
このQ&Aを見た人はこんなQ&Aも見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
複数の共有メモリの作成
C言語・C++・C#
-
共有メモリの同時アクセスについて教えてください。
C言語・C++・C#
-
msgget()で指定するkey値について
C言語・C++・C#
-
-
4
UTF-8で5~6バイトになる文字コード
その他(プログラミング・Web制作)
-
5
fopne で失敗する原因
C言語・C++・C#
-
6
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
7
C言語のHP-UXからLinuxへのポーティング
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
入力規則のリストの文字の大き...
-
ペイント3Dのテキストサイズ変更
-
テーブル内の文字サイズを変更...
-
テキストエディタmiの表示文字...
-
エクセルで文字が勝手に大きく...
-
チェックボックスのサイズ変更...
-
alertで表示させる文字サイズは...
-
文字を点滅させるHTML
-
IEで文字サイズが変更されない...
-
CSSです。英数字のみArial書体...
-
タイ語と日本語混在のサイトを...
-
共有メモリについて
-
特定オブジェクトの拡大
-
奇数のフォントサイズ指定について
-
accessのレポートで文字間隔を...
-
セレクトボックス内のフォント位置
-
コピーライト記号の表示が小さい
-
スマホでのホームページの表示
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
入力規則のリストの文字の大き...
-
テーブル内の文字サイズを変更...
-
ペイント3Dのテキストサイズ変更
-
テキストエディタmiの表示文字...
-
alertで表示させる文字サイズは...
-
VBAでListViewのフォントを変更...
-
セレクトボックスの幅を指定し...
-
奇数のフォントサイズ指定について
-
HTMLテキストボックス内の文字...
-
alertで、アイコンの変更、又は...
-
”ヒラギノ明朝Pro”をWindowsで...
-
<table></table>内のFONT指定に...
-
共有メモリについて
-
<pre>タグ内のフォントサイズに...
-
エクセルで文字が勝手に大きく...
-
パスワード欄の"●"文字を小さく...
-
コピーライト記号の表示が小さい
-
アンドロイドスマホでのphp ech...
-
accessのレポートで文字間隔を...
-
英サイト(UTF-8)内での全角文字...
おすすめ情報