dll間での変数の共有

解決


kokopelli  2007-07-23 20:49:53  No: 65813

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の間でデータを共有したいのです。


lemon  2007-07-24 20:44:22  No: 65814

こんにちは

素人に毛が生えた程度の者で恐縮ですが
共有メモリを使う手があると思います。
「共有メモリ」で検索すればネット上にたくさんの有用な
情報があります。
頑張って下さい。


とおり  2007-07-25 06:02:16  No: 65815

もういいでしょ、解決で。


YuO  2007-07-25 18:33:45  No: 65816

DLLから変数をエクスポートする事は可能です。
やり方は関数とほとんど一緒です。
http://support.microsoft.com/kb/90530/ja

あとは,x.dllとz.dllのうち,エクスポートする方をインポートする方が参照するようにしてやればよいです。

ただ,そもそもグローバル変数を共有するようなものを分割するのが間違い,という気がしますけどね……。


kokopelli  2007-07-28 01:25:28  No: 65817

いろいろ、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加