VC++ で共有メモリを作成して試すには?


you  2009-06-20 10:56:48  No: 70386  IP: [192.*.*.*]

Microsoft Visual C++ 2005 Express Editionで共有メモリの使用を作成し、試したいですが。プロセス間通信についてよくわかっていないし。

編集 削除
you  2009-06-20 10:59:33  No: 70387  IP: [192.*.*.*]

CreateFileMappingなど個々の関数を調べたが、どう作るか理解していなくて、まだ試していないです。

編集 削除
wclrp ( 'o')  2009-06-20 12:20:13  No: 70388  IP: [192.*.*.*]

共有メモリとかCreateFileMappingとかMapViewOfFile必須なもの複数指定して検索すれば例ぐらいあるだろ。
UnmapViewOfFile
CloseHandle
その例が正しいものかどうかまでは判らないけど。

同じ共有メモリに書くアプリと読むアプリを作って実行すれば共有メモリを試すという条件はクリアできる。
プロセス間通信はそのあと理解してもいい。

編集 削除
you  2009-06-21 14:10:58  No: 70389  IP: [192.*.*.*]

Microsoft Visual C++ 2005 Express Editionで試してみたら、
エラーが出てきました。
   
 \vc++testプログラム\ukfilemappingtest\ukfilemappingtest\Form1.h(4) : fatal error C1083: 
 include ファイルを開けません。'Windows.h': No such file or directory
 というエラーが出ました。
 
 ⇒構成プロパティ→C/C++→詳細の必ずインクルードに$(VCInstallDir)\lib\kernel32.libを設定しました。そうしたらコンパイルすると、以下のエラーが発生しました。
\Microsoft Visual Studio 8\VC\\lib\kernel32.lib(3) : error C2018: 文字 '0x1' は認識できません。
なんででしょうか?kernel32.libを開くことができないのですが。

編集 削除
you  2009-06-21 14:14:52  No: 70390  IP: [192.*.*.*]

>wclrpに返信
回答ありがとうございます。
Microsoft Visual C++ 2005 Express Editionで
共有メモリへの読み込みと共有メモリへの書き込み用のプログラムを
作成してみました。ただし、ヘッダファイルをincludeできない問題が発生しました。

編集 削除
επιστημη  URL  2009-06-21 14:26:17  No: 70391  IP: [192.*.*.*]

> \Microsoft Visual Studio 8\VC\\lib\kernel32.lib(3) : error C2018: 文字 '0x1' は認識できません。
> なんででしょうか?kernel32.libを開くことができないのですが。

それインクルードファイルちがう。
ライブラリなんだからリンカ設定。

編集 削除
you  2009-06-21 22:50:56  No: 70392  IP: [192.*.*.*]

回答ありがとうございます。
ライブラリをリンカ設定に変更してやっても、同じエラーが発生しました。\vc++testプログラム\ukfilemappingtest\ukfilemappingtest\Form1.h(4) : fatal error C1083: 
include ファイルを開けません。'Windows.h': No such file or directory

編集 削除
aetos  2009-06-22 01:33:33  No: 70393  IP: [192.*.*.*]

同時進行中です。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=37410

編集 削除
wclrp ( 'o')  2009-06-22 08:21:01  No: 70394  IP: [192.*.*.*]

Express Editionかあ
CLRはやったことないからどうやれば容易に作業が進められるのか知らない。

編集 削除
επιστημη  URL  2009-06-23 10:17:19  No: 70395  IP: [192.*.*.*]

VC++ 2008 Express なら Windows-SDK同梱じゃなかったっけか。

編集 削除