![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
共有メモリについて(特にMapViewOffileについて)教えてください。
ある構造体と、あるデータAを共有メモリへマッピングしたい考えています。
構造体は、
typedef struct _Data {
int length;
long data;
char mIntArrayData[256];
} Data;
データAは、short型の配列(要素数はx*y*z,x,y,zはcsvファイル等から読み込む)で、サイズをdatasize = sizeof(short) * x * y * z;とします。
この2つを使って、
両方のデータを
long AllDataSize = sizeof(Data) + datasizeとしました。
このサイズを使って、共有メモリのマップハンドルを
hMap = CreateFileMapping(INVALID_HANDLE_VALUE,
NULL,PAGE_READWRITE,AllDataSize,MAPPED_FILE_NAME);(MAPPED_FILE_NAMEは、 メモリマップドファイルの名前)
で、生成しました。
生成はできたのですが、データAにアクセスするための下記のような時にマッピングに失敗してしまいました。
DWORD dwOffset = sizeof(DATA);
short *pData = (short *)MapViewOfFile(hMap, FILE_MAP_WRITE, 0, dwOffset, Bytes);
(Bytesはマッピングしたいバイト数でsizeof(short)の倍数)
次のようなDATAにアクセスするマッピングには成功しています。
DWORD dwOffset = 0;
DATA *pDATA = (DATA *)MapViewOfFile(hMap, FILE_MAP_WRITE, 0, dwOffset, sizeof(DATA));
色々なサイト等を調べて、考えてみたのですが、怪しいところはdwOffsetと、CreateFileMappingで、マッピングしたい全体のファイルサイズを、構造体とデータAのサイズの単純な足し算としているところと考えています。ただ、はっきりとした答えが全くわからないので、どうか御教授お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- C言語・C++・C# アセンブラ指令 3 2023/06/17 14:47
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Java 動かなくなったのでJavaソースを手直しお願いします。 2 2022/04/30 05:35
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
ACCESS VBA インデックスが有効...
-
配列でデータが入っている要素...
-
S9タイプからXタイプにデータ...
-
不規則なデータのfft処理
-
バーコードリーダーの読込デー...
-
GridViewの行の一部を複数行にする
-
VBAでシートからコンボボックス...
-
Accessで該当データにフラグを...
-
ノイズの入った波形をきれいな...
-
DataGridViewのデータの引渡し...
-
多量のSUMIF式を軽くしたい
-
[エクセル]データの個数が2番目...
-
CString型の文字列連結について
-
阿武町4630万円誤送金事件。町...
-
VBAを使ってOutlookメール本文...
-
COBOLの定義について
-
「0x00ff0000」?
-
国土地理院の地形図の全図葉名...
-
エクセルで2つの時系列のデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
S9タイプからXタイプにデータ...
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
Accessで該当データにフラグを...
-
ユーザーフォームのテキストボ...
-
シーケンサにパソコンからアク...
-
EXCELVBAでSQLserverからデータ...
-
[C言語] コメント文字列を無視...
-
VBAを使ってOutlookメール本文...
-
プログラミング python pandas ...
-
VBA 毎日取得するデータを順番...
-
<VB>String→Object
-
カンマからスラッシュに
おすすめ情報