1つのプロセスa.exeから、まず、x.dllの関数を実行し、その関数が終了すると、a.exeから、y.dllの関数を実行し、さらにその関数から、z.dllの関数を呼び出します。
a.exe--+-->x.dll
|
+-->y.dll-->z.dll
のような関係です。
このとき、x.dllの関数とz.dllの関数でグローバル変数を使って変数を共有することはできるのでしょうか?
現在、x.dllとz.dllの開発を請け負っていますが、a.exe、y.dllは別の人が担当なのでx.dllとz.dllの間でデータを共有したいのです。
こんにちは
素人に毛が生えた程度の者で恐縮ですが
共有メモリを使う手があると思います。
「共有メモリ」で検索すればネット上にたくさんの有用な
情報があります。
頑張って下さい。
もういいでしょ、解決で。
DLLから変数をエクスポートする事は可能です。
やり方は関数とほとんど一緒です。
http://support.microsoft.com/kb/90530/ja
あとは,x.dllとz.dllのうち,エクスポートする方をインポートする方が参照するようにしてやればよいです。
ただ,そもそもグローバル変数を共有するようなものを分割するのが間違い,という気がしますけどね……。
いろいろ、ありがとうございました。
ツイート | ![]() |