一点背景:有一段时间我一直在为我的 C++ 项目使用一个名为 CodeBlocks 的免费 IDE。最近我获得了 Microsoft Visual Studio 2013 的许可证,我不得不说这是一种完全不同的体验。自动完成功能在您键入时更好、更灵敏、更准确地进行错误检查,是 MFC 应用程序的可视化资源管理器。虽然这些东西你可以在几乎任何带有正确插件的文本编辑器中获得,但我发现 MS Visual Studio 特别吸引人的是它非常漂亮且视觉上吸引人的调试器(比 CodeBlocks 中的更易于使用并提供更多信息) .
我一直在考虑切换到基于 linux 的系统,因为至少对我来说,它似乎为通用编程提供了更好的工具。但是,我不能让自己失去 MS VS 调试器并回到 CodeBlocks 之类的东西。我一直在为 linux 寻找各种调试器,但我真的找不到与 MSVS2013 中的调试器相似的调试器。有人可以帮我解决这个问题吗?什么是我可以使用的好的调试器?
我正在寻找的功能:
我正在尝试通过互斥锁建立进程间通信.我有一个过程可以做到这一点:
HANDLE hMutex = CreateMutex(NULL, TRUE, "amutex_name");
if (!hMutex) {
puts("Error creating mutex. Aborting.");
return;
}
for (int i = 0; i < 500; ++i) {
if (WaitForSingleObject(hMutex, INFINITE) == WAIT_FAILED) {
puts("Error waiting for mutex. Aborting.");
return;
}
if (!ReleaseMutex(hMutex)) {
puts("Error releasing mutex. Aborting.");
return;
}
puts("MUTEX RELEASED");
Sleep(2000);
}
CloseHandle(hMutex);
Run Code Online (Sandbox Code Playgroud)
第二个程序(不同的过程)执行此操作:
HANDLE hMutex = CreateMutex(NULL, FALSE, "amutex_name");
if (!hMutex) {
puts("Error creating mutex. Aborting.");
return;
}
while (1) {
if (WaitForSingleObject(hMutex, INFINITE) == WAIT_FAILED)
continue;
if (!ReleaseMutex(hMutex)) …Run Code Online (Sandbox Code Playgroud)