免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: koolcoy
打印 上一主题 下一主题

求助: 在if中定义的变量 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2007-05-22 00:53 |只看该作者
原帖由 思一克 于 2007-5-21 21:49 发表
        subl    $536, %esp
        andl    $-16, %esp
         movl    $0, %eax
         subl    %eax, %esp

        movl    $123, -12(%ebp)



一直搞不清楚这两行是做什么用的,麻烦知道的人讲解一下。

论坛徽章:
0
42 [报告]
发表于 2007-05-22 08:39 |只看该作者
是GCC计算调整(优化?)STACK的什么方法。没有深入研究。
如果程序是这样(多分100个整数),那么调整成为更复杂的:


  1. main(int argc, char **argv)
  2. {
  3. int i;
  4. int k[100];
  5.   i = 123;
  6.   if(argc) {
  7.         int a[128];
  8.         a[1] = 456;
  9.   }
  10. }

  11. --------
  12.         movl    $0, %eax
  13.         addl    $15, %eax
  14.         addl    $15, %eax
  15.         shrl    $4, %eax
  16.         sall    $4, %eax
  17.         subl    %eax, %esp



复制代码

论坛徽章:
0
43 [报告]
发表于 2007-05-22 11:50 |只看该作者
这几天没有钻研技术,没看到这么经典的讨论,呵呵


我支持看汇编代码的说法

理论上怎么讲都没用

理论上我们现在应该每个人都是世界首富了

但实际上,这里都是穷人

呵呵


我们说了都不算

机器说了算
choc 该用户已被删除
44 [报告]
发表于 2007-05-22 12:29 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
45 [报告]
发表于 2007-05-22 12:35 |只看该作者
原帖由 choc 于 2007-5-22 12:29 发表
比如for (int i = 0; i < 100; i++)这种好象都不允许

这种用法 C99 和 C++ 都是允许的。
choc 该用户已被删除
46 [报告]
发表于 2007-05-22 12:45 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
47 [报告]
发表于 2007-05-22 20:34 |只看该作者
两位版主注意自身形象,注意自己的身份。

论坛徽章:
0
48 [报告]
发表于 2007-05-22 21:28 |只看该作者
其中有我吧?

本来就注意了的.

原帖由 beepbug 于 2007-5-22 20:34 发表
两位版主注意自身形象,注意自己的身份。

论坛徽章:
0
49 [报告]
发表于 2007-05-22 21:54 |只看该作者
不是动态分配的,它在栈里面

论坛徽章:
0
50 [报告]
发表于 2007-05-23 18:13 |只看该作者
杂跑这么远呀!汇编都来拉呀!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP