我正在创建两个独立的C++.dll,它们都与同一块硬件对话。如果两者同时连接,它们的命令将被混淆,硬件的行为也将不正确。因此,我需要确保一次只有一个连接到硬件(即使两个DLL都已加载并正在运行)。
到目前为止,我的想法是:
- 连接之前,DLL在已知位置创建一个文件
- 当DLL连接时,它会查找另一个DLL的文件,如果存在则拒绝连接
- 断开连接后,DLL将删除其文件
这看起来很简单,但我想知道是否有更好的方法?DLL可以定义某种系统范围的变量?简单性是关键——代码行数越少越好。
使用CreateMutex函数
您可以为此使用全局互斥对象。