为什么我用vc++6.0和vs2010编译同一段代码、运行速度天差地别

就是一段高精度阶乘、代码一样
在vc++6.0编译出来运行1000!的速度一秒都没有
vs2010编译出来运行1000!的速度五六秒

这个可能是因为6.0和2010所使用的函数库可能不同,链接的系统库不同
你可以采用下面的方法再试一下:
1、创建项目的时候选择一个空白的控制台项目,就是创建完以后一个文件都没有的那种。
然后添加一个c++源文件,将代码写进去
2、编译的时候记得用release模式
3、记得运行的时候关闭电脑的其他程序,尽量让cpu的使用率保持一致
这样再试一下看看

额外说明一下,2010的功能比6.0强大很多,所以同样一段代码的编译,它会比6.0添加更多的辅助性的东西进去。但正常的话,release版本在运行速度上应该是没有变化的!

如果按照上面的还有这样大的区别,请和我联系
我也很感兴趣!追问

那怎么样在release版本编译?

追答

在2010的工具栏下面你应该能够看到一个向右的倒三角吧
旁边的框里面有debug字样,点击选择为release就可以了
6.0要复杂一点,不设应该也没问题吧

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-03
代码呢,细节信息呢?没有这些怎么分析问题。
红口白牙说快慢。
好比说“我电脑慢,他的电脑快”什么原因?
报细节的软、硬件配置初步比较。再分不出。做进一步细节测试。直到找出区别。
“区别都在细节”“说细节”。“大概括只能谈谈感觉”。
第2个回答  2012-01-03
vs2010占用资源多,机器资源紧张。可能存在内存空间不够用,用磁盘来虚拟的情况。要真实反映他们的区别,你退出编译环境,在同一台机器上直接运行exe文件,试试。结果应该是差别不大,用户感觉不到的。
第3个回答  2012-01-03
不同编译器编译代码不一样,有些编译器编译代码进行优化了,如果你是用系统的_nop_()这个函数的话就可以保证运行时间一样
第4个回答  2012-01-03
电脑配置啊追问

同一台电脑

追答

10对你电脑配置要求高
6对你电脑要求低

第5个回答  2012-01-03
你是自己凭感觉计时还是用clock()函数计时的?
相似回答