我已经移植了一段C ++代码,从Linux(Ubuntu)到Windows(Vista)的核心工作,我意识到它在VS2008上运行速度大约低50倍!我删除了所有核心部分,现在我只有一段与硬盘无关的代码。
我在Project Properties中将编译器参数设置为O2,但仍然比linux中的g ++慢10倍!
有没有人知道为什么VS下这么慢?
我真的很感激任何暗示!
谢谢,
答案 0 :(得分:2)
您使用了很多标准C ++库吗?如果是这样,您可能希望关闭Visual C ++中默认启用的“已检查迭代器”功能(即使在发布模式下)。在包含任何标准标题之前加上它:
#define _SECURE_SCL 0
答案 1 :(得分:1)
无需猜测。只需点击“暂停”按钮,然后查看堆栈。你错过这个问题的几率是1/50。如果你不确定,可以多次这样做。