我在 C++ 中工作。我在运行应用程序时遇到问题,其中包含我的 dll,我的 dll 代码适用于应用程序(需要的进程)。我在整个应用程序中使用 fopen 编写了一个日志文件(xml 文件)所有功能(dll 源),在这里我收到类似“由于另一个进程使用而无法访问文件”的异常。 .请帮助我,如何管理文件,一次只能使用一个进程...
最佳答案
除非您为每个使用您的 DLL 的进程使用不同的文件,否则问题是您有可能让多个进程尝试访问同一资源。
您应该执行以下操作之一:
- 更改您的代码,使其使用
每次调用都有单独的文件
过程。 - 改变它以便它使用
信号量、互斥量或关键信号量
部分和等待状态来控制 访问文件。 - 或者重写你的 DLL 让它运行 作为一个独立的过程,并且 直接控制传递给它的数据 放入文件。
关于c++ - C中有许多进程的文件打开问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3511755/