新微赢技术网

标题: [求助]比较时间长短 [打印本页]

作者: 爱琴海    时间: 2009-11-4 01:25
标题: [求助]比较时间长短
请问这两种定义哪种运行时间较短:(1)int i; i=0; (2) int i=0;
作者: 加非猫    时间: 2009-11-4 01:25
感觉上是第二种更短吧,,不知道为什么
作者: 劳资ぶ龍哥    时间: 2009-11-4 01:25
晕,计算机怎么知道你的感觉啊
作者: 欠你一滴泪    时间: 2009-11-4 01:25
我觉得应该是一样的,
int i;
这个语句是在编译时期完成的, 在运行时期两种语句完成的都是为i的内存赋值, 时间应该一样.

再说现在的编译器优化功能这么强应该能识别出这两种语句吧,生成的代码应该是一样的
作者: qz沒愛過mm    时间: 2009-11-4 01:25
能不能确切一点啊??有没有人知道啊?那i=i+1和i++ 那个较短呢,时间
作者: 攸哉vs攸哉    时间: 2009-11-4 01:25
阅逡,
明天进来删掉你的这个帖子, 因为你的帖子与编程毫无关系。
作者: 导演    时间: 2009-11-4 01:25
既然你这么问
我告诉你吧
第2个短
因为
int i; i =0;
第一个生成
aloc 1; int i
ldc 0; 取0值放入
str x; 堆栈的相对地址

第2个int i=0;
生成

ldc 0;
push ;
或者
aloc 1;
ldc 0;
str x;

第2种的第2个跟第一个一样的 ,属于效率差的,编译器很少生成这样的代码
所以,一般总是初始化快
编译代码大概是这样,你自己编译一下就可以了
但以后最好别问这些了。。(删就删吧说明理由在删吧)
作者: 边走¤边爱    时间: 2009-11-4 01:25
问这样的问题, 就好比在问: 我早上出门是应该左脚先出门还是右脚先出门. 我实在看不出这种问题有什么意义. 该帖子再放一天.  
作者: 月半弯    时间: 2009-11-4 01:25
i=i+1和i++    这个 问的 有意义...
作者: √死胖子    时间: 2009-11-4 01:25
对楼上的观点发表看法:

i = i + 1 和 i++ 这个问的同样没有意义.




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2