C中多个进程的文件打开问题
我正在使用 c++ 工作。我在运行一个应用程序时遇到问题,其中包含我的 dll,我的 dll 代码适合应用程序(所需的进程)。我在所有函数中使用 fopen 在整个应用程序中编写了一个日志文件(xml 文件)( dll 源),在这里我收到诸如“由于另一个进程使用而无法访问该文件”之类的异常。 .请帮助我,如何管理文件,哪里一次只能使用一个进程......
Iam working in c++ .i have an problem while run an application ,which have my dll within it ,My dll code is suitable to application (needed process).i wrote a log file (xml file) throughout application using fopen within all function(dll source) ,here i receive exception like "cannot access the file ,due to using by another process." .please help me ,how can manage a file ,where can use only one process at a time...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
除非您为使用 DLL 的每个进程使用不同的文件,否则问题是多个进程可能会尝试访问同一资源。
您应该执行以下操作之一:
每个调用都有单独的文件
过程。
信号量、互斥体或临界
要控制的部分和等待状态
访问该文件。
作为一个独立的过程,并且
直接控制传递给它的数据
放入文件中。
Unless you are using a different file for each process that uses your DLL then the problem is that you have the potential for multiple processes trying to access the same resource.
You should do one of the following:
separate file for each calling
process.
semaphores, mutexes or critcial
sections and wait states to control
access to the file.
as a process in its own right and
directly controls data passed to it
to place into the file.