掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
exeの変数をDLLで参照するには (ID:55348)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
DLLは文字通りダイナミックにリンクされ、EXEと同一アプリとして実行されます すなわち実行空間が同一ということであり、パラメタでアドレスを指定すれば、それがいくらでも参照できます ですので、参照したい変数をすべてひとつの構造体で定義しておき、そのアドレスを渡すのが一般的です と上記は、ひとつのEXEのみ使用する場合ですが、それではDLLである必然性がありません DLLは、複数のEXEから呼び出されて初めて真価を発揮します 複数のEXEが同一のDLLを呼び出しても、各DLLは、別の空間(すなわち各EXEの実行空間)で実行されるため、DLL間でデータの共有ができません こういう場合にはじめて、共有メモリ、レジストリ、socket、DDE、等他プロセスとの連携技術が必要になります 簡単に説明しますので、目的の技術を学んでください レジストリ:変数の数が少ない場合(数個)最も実装が容易 共有メモリ:変数の数が多い場合これを使用するが、アクセスするたびに排他処理必須となる socket:他のマシンとも共有が可能だが、実装が面倒、遅延も発生する DDE:現在はあまり利用されない(と思う) これらを理解し、DLLの目的別に実装法を決定してください
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.