0

我正在使用 c++ 工作。我在运行应用程序时遇到问题,其中包含我的 dll,我的 dll 代码适用于应用程序(需要的进程)。我在所有函数中使用 fopen 在整个应用程序中编写了一个日志文件(xml 文件)( dll 源),在这里我收到“无法访问文件,由于另一个进程使用”之类的异常。.请帮助我,如何管理文件,一次只能使用一个进程...

4

1 回答 1

2

除非您为使用 DLL 的每个进程使用不同的文件,否则问题是您有可能让多个进程尝试访问同一资源。

您应该执行以下操作之一:

  1. 更改您的代码,以便它
    为每个调用
    进程使用单独的文件。
  2. 更改它,使其使用
    信号量、互斥锁或关键
    部分和等待状态来控制对文件的访问。
  3. 或者重写您的 DLL,使其以自己的方式作为进程运行,并直接控制传递给它的数据以放入文件中。
于 2010-08-18T12:26:12.997 回答