質問: vcで作成した共有メモリは参照できないのでしょうか php初心者です。 今、やろうとしていることはvc++(visualstudio2003)で作成した共有メモリを phpから参照しようとしています。 vc++で作成した共有メモリはchar[100]のみです。 今後拡張する予定ですが、基本的には32bit構造の型のみを予定しています。 現在のphpの環境はwinxpのローカルpcにxamppにてapach2.2を起動させ、 phpのバージョン5.3.5で開発をしているのですが、vc++の共有メモリを参照することができません。 今、phpから、win32apiにて共有メモリを参照しようと思っているところですが、 なかなか思うように進みません。 よい方法をご存知の方、アドバイスをお願い致します。 また、この質問の内容は「どのような方法でも無理(できない)」ということであれば そのようなご指摘でも構いません。 それでは宜しくお願い致します。
回答: >vcの共有メモリ 結論から言うと大変難しい。 (1)vcの共有メモリ それはvcのソースレベルの話ですかね? このメモリを利用できるのは一緒にリンク されるオブジェクトだけです。 phpはこのメンバーではないので無理です。 (2)誰がインスタンス化? vcのメモリは誰が作るんでしょ? phpと違うプロセスで起動する場合は 「他のプロセスのメモリ参照」となるため、 openprocessを始めとする操作が必要と なりますが、この辺のアーキテクチャは ご存知でしょか? (3)アドレスの通知方法 (2)が分かるとして、メモリのアドレスを どうやってphpに知らせるんでしょう? こういう連絡手段は結構面倒です。 ということで、vcでphpから呼び出すdllを 開発するプロダクトに切り替えては?