さて、前回のメッセージボックスのように、本来HSPでできることをわざわざWin32 APIを使って実現させる必要などないので、どうせやるならHSPの標準機能ではできないことをやってみたいと思います。で、今回の目的は「プロセス間のメモリの共有」です。これを実現させるには、Windowsが持つメモリマップトファイルの機能を使います。 メモリの共有 Windowsでは、すべてのプロセスはそれぞれ自分専用の仮想アドレス空間を持っています。32ビットアプリケーションなら、アドレス0x00000000〜0xFFFFFFFFの4Gバイトの仮想アドレス空間を持ちます。このアドレス空間はそれぞれのプロセスで独立したものであり、あるプロセスからは別のプロセスのアドレス空間にはアクセスできないようになっています。 例として、プロセスAがメモリ上にあるデータを格納していて、そのアドレスが例えば0x44444444
製品レビューからプログラミング関連のメモ書きまで幅広く扱うBlog。 ※個人的なメモ書きにつき記事内容の正確さは無保証。予告無く改変される可能性あり。指摘は歓迎。 使い方によっては強力な効果を発揮するマルチスレッドプログラミング。Windowsプログラミングやネットワークプログラミングでは重宝する。しかし一般的にVisual C++とPlatform SDKを用いてWindowsプログラミングをする場合、コールバック関数などの設計思想がC言語主体であるので、マルチスレッドプログラミングにてクラスを用いたアプリケーションを開発する場合に不都合な点が生じる。主にスレッドを作成する関数として、CreateThread、_beginthread,_beginthreadexなどが挙げられる。しかしMSDNによると C のランタイムライブラリに記録されている関数を使うスレッドは、CreateThre
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く