0

Iamはc++で動作しています。アプリケーションの実行中に問題が発生しました。dllが含まれています。dllコードはアプリケーションに適しています(プロセスが必要です)。すべての関数内でfopenを使用してアプリケーション全体にログファイル(xmlファイル)を書き込みました( dllソース)、ここで「別のプロセスで使用しているため、ファイルにアクセスできません」などの例外が発生します。。私を助けてください、ファイルを管理する方法、一度に1つのプロセスしか使用できない場所...

4

1 に答える 1

2

DLLを使用するプロセスごとに異なるファイルを使用していない限り、問題は、複数のプロセスが同じリソースにアクセスしようとする可能性があることです。

次のいずれかを実行する必要があります。

  1. 呼び出しプロセス
    ごとに個別のファイルを使用するようにコードを変更します。

  2. セマフォ、ミューテックス、またはクリティカルセクションを使用
    し、状態を待機してファイルへのアクセスを制御するように変更します。
  3. または、DLLを書き直して、それ自体がプロセスとして実行され、DLLに渡されるデータを直接制御してファイルに配置します。
于 2010-08-18T12:26:12.997 に答える