私は同じハードウェアに2つの独立したC++ .dllを作成しています。両方が同時に接続されていると、コマンドが混在し、ハードウェアが正しく動作しません。だから私はハードウェアに一度に(たとえ両方のDLLがロードされ実行されていても)確実に接続する必要があります。ここで .DLLをシステム全体に公開する方法(Windows)
は、私のこれまでの考えです:接続する前に- 、DLLは、DLLを接続したとき、それは他のDLLのファイルを検索し、あれば接続を拒否し
- 既知の場所にファイルを作成します存在する。
- 切断後、DLLはファイルを削除します。
これは簡単ですが、もっと良い方法があるのでしょうか? DLLが定義できるシステム全体の変数のいくつかの種類?シンプリシティはここで重要です - コードの行が少ないほど良いでしょう。
サンプルコードを追加できますか? – japreiss
確か:http://msdn.microsoft.com/en-us/library/windows/desktop/ms686927(v=vs.85).aspx – SecurityMatt
そのコードは、スレッド同期のためのグローバルハンドル変数で無名のmutexを使用します。私は、任意のハンドルを共有せずに、フラグ変数として名前付きのmutexを使用したい。この例は関係ありません。 – japreiss