以下两个程序哪个的执行效率高,并解释为什么。

zzz654321 2003-10-19 04:21:40
以下两个程序哪个的执行效率高,并解释为什么。
a)
extern int fool(void);
int main()
{
int i;
for(i=0;i<10000;i++) fool();
return i;
}

b)
extern int fool(void);
int i;
int main()
{
for(i=0;i<10000;i++) fool();
return i;
}
...全文
51 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ThinkX 2003-10-19
  • 打赏
  • 举报
回复
去看汇编结果
huiying 2003-10-19
  • 打赏
  • 举报
回复
全局变量存放在全局数据区,而局部变量存放在栈区的。
1982fish 2003-10-19
  • 打赏
  • 举报
回复
原来这么多讲究的,学习
wglfuture 2003-10-19
  • 打赏
  • 举报
回复
在程序运行的时候局部变量比外部变量执行的快,因为不在外部调用,只在函数内部调用。所以运行速度快的多。
耙子 2003-10-19
  • 打赏
  • 举报
回复
我没看过编译的代码,但他们的区别应该是:
第一个局部变量他的寻址方式应该是属于寄存器寻址,类似 [ebp]+xxx 这类的方式,
第二个应该是立即数寻址。
0bearblue 2003-10-19
  • 打赏
  • 举报
回复
第一个快
youcheng1 2003-10-19
  • 打赏
  • 举报
回复
第一个吧,局部变量。
huangjuliang 2003-10-19
  • 打赏
  • 举报
回复
不清楚!

学习!

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧