我正在开发一个与另一个应用程序(App2)通信的实时应用程序(让我们称之为App1)。我使用的是VS2008,两个应用程序都是用C ++编写的。最近我将App1项目转换为VS2010,之后它开始崩溃(我使用VS2010 Premium Ver.10.0.30319.1)。崩溃转储显示在崩溃之前,App2尝试多次向App1发送请求而未收到任何响应。所以我想可能将App1转换为VS2010会降低性能,App1需要很长时间来生成响应。使用VS2010会对性能产生任何影响(与VS2008相比)吗?
答案 0 :(得分:6)
当然,它对性能有“一些”影响。编译器更新,在许多方面更好。
然而,您遇到的问题不太可能是因为编译器出错了。您可能已经假设在2010年引入的C ++ 0x功能下不再适用,但我建议您更有可能在VS2008版本中也有错误。你需要弄清楚它悬挂的原因,看看你能做些什么来阻止这种情况发生。很有可能的是,时间已经改变了使用2010年和你做出的假设(你永远不应该认为事情会以某种特定的方式运作......要么知道,要么查找它)已经回来咬你了屁股。
可能不是你想要的那种答案......但我肯定会认为这是一个真正的错误!
答案 1 :(得分:1)
要做的事情不是猜测这个和那个。
要做的就是找到错误并修复它。
使用与消息传递协调的异步应用程序很棘手。我处理这样的工作的方式是生成来自/到每个应用程序的消息流量的详细时间戳记日志。我将这些日志合并到一个时间轴中。然后我研究时间表并寻找不能按预期工作的事情。
这是工作。它可能需要几个小时,你可能不得不重复它,但你会发现问题。 我认为你是那种能够解决困难并且能够完成任务的程序员。