望麓自卑—湖南大学最具潜力的校园传媒

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1157|回复: 6

毕业了,c表达永远的三种方式

[复制链接]
发表于 2005-6-23 08:07:06 | 显示全部楼层 |阅读模式
1.while(1)
{};
2.for(;;);
3.Loop:
      '''''''
  goto loop;

大家明白汇编以后生成什么吗?这三种方式的效率怎么样?
发表于 2005-6-23 08:53:06 | 显示全部楼层
看编译器来吧

一般似乎 for(;;) 效率最高吧,在8086上

编译前 编译后

while (1); mov eax,1
test eax,eax
je foo+23h
jmp foo+18h  

编译前 编译后

for (;;); jmp foo+23h  

  一目了然,for (;;)指令少,不占用寄存器,而且没有判断跳转,比while (1)好。
 楼主| 发表于 2005-6-23 10:01:57 | 显示全部楼层
你真够厉害的!佩服!和罗卜熟吗?我担心她换了手机就跑了咯
发表于 2005-6-24 12:15:48 | 显示全部楼层
一般熟  隔壁班的  


该跑总会跑的  呵呵  要看你有没有留得住她的东西了
发表于 2005-8-5 21:10:44 | 显示全部楼层
麻烦用中文直接说明一下。
发表于 2005-8-5 21:12:00 | 显示全部楼层
好像还有do{}while(1)哦
发表于 2005-8-5 21:14:18 | 显示全部楼层
下面是引用长沙人在扭腰于2005-06-23 08:53发表的:
看编译器来吧

一般似乎 for(;;) 效率最高吧,在8086上

编译前 编译后
.......

有看过goto语句的反汇编吗?
我的直觉告诉我那个应该是最快的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

每日推荐上一条 /1 下一条

小黑屋|手机版|湖南大学望麓自卑校园传媒 ( 湘ICP备14014987号 )

GMT+8, 2024-11-24 06:34 , Processed in 0.116387 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表