• ベストアンサー

【Visual Studio】プロジェクト間の変数のシェア

Visual StudioでプロジェクトA(親)とプロジェクトB(子)を変数でインターフェースさせる方法をご存知でしょうか? 端的な例としては: //プロジェクトB(子) int ctr = 0; int _tmain(int argc, _TCHAR* argv[]) { while(1){ ctr++; Sleep(1000); } } //プロジェクトA(親) int _tmain(int argc, _TCHAR* argv[]) { while(1){ printf("ctr = %d\n",ctr);//ctr seen in B Sleep(100); } } と、プロジェクトをインターフェースさせて一方向でもよいので変数をプロジェクト間で受け渡しさせたいのです。実際には別々の団体が開発するそれぞれのプロジェクトが大きすぎるので、1つのプロジェクトにまとめるよりはこのようにインターフェースさせるやり方を探していました。 Unix/LinuxではSWIGがこのようなことをできるようですが。Visual Studioソリューションでは複数プロジェクトの依存関係が設定できますが、説明を読むとこれは例えばサーバーとクライアントを同時開発する時の手間を省くときの用途で使うようなので、私がやりたいことはできないのかな?と、困っています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ほぼ恐らく出来ないと思われます。 似たような処理ならば、「共有メモリ」を用いて処理を行う必要があると思います。 googleで「共有メモリ」で検索すれば、すぐに出てきます。

maruyl
質問者

お礼

OpenFileMappingやMapViewOfFileを使用して解決できました。遅れましたが、ありがとうございました。

その他の回答 (1)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

SWIGは全然別物だと思いますが。 異なるプロセス間でメモリを共有する事は「共有メモリ」と言う技術を利用します。ただし、同期が必要なので取り扱いには注意してください。 [必要知識] ・プロセス/スレッド間通信 ・プロセス/スレッド間同期 ・仮想記憶 ・共有メモリ ・当然ながらポインタ

maruyl
質問者

お礼

OpenFileMappingやMapViewOfFileを使用して解決できました。遅れましたが、ありがとうございました。

関連するQ&A