首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
编程技术
发新帖
0
0
[求助]前加和后加效率问题
发表于: 2010-11-25 21:11
4370
[求助]前加和后加效率问题
yy大雄
2010-11-25 21:11
4370
今天在某公司应聘遇到的笔试题。
问++i 比 i++效率更高,为什么?
自己当时没答上,然后回到学校自己用VC调试,发现编译出的汇编代码都一样,猜想可能是编译器优化的结果,想问下未优化时,前加和后加的代码是怎么样的。。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
3
)
loqich
雪 币:
952
活跃值:
(1821)
能力值:
( LV2,RANK:10 )
在线值:
发帖
12
回帖
642
粉丝
0
关注
私信
loqich
2
楼
stl迭代器的话++i 和 i++区别大 因为 i++需要产生一个新的对像返回 而++i只要修改里面的指针值
但是 如果 i是int的话 对现在的编译器来说 不存在任何区别 无任何优化的话 i++可能多用一个寄存器来保存临时值
2010-11-25 21:47
0
飞心男孩
雪 币:
300
活跃值:
(179)
能力值:
( LV7,RANK:100 )
在线值:
发帖
7
回帖
137
粉丝
1
关注
私信
飞心男孩
2
3
楼
好,大家都来猜。我最喜欢猜的了:
++i 大概分为:
1、从内存取值到eax寄存器(不一定就是eax,我随便说的),
2、+1
3、将寄存器的值写入原来的内存。
i++的情况:
1、从内存中取值到寄存器
2、使用
3、再次从内存取值到寄存器
4、+1
5、写回。
==========以上存属猜测!
2010-11-25 21:50
0
xiilin
雪 币:
401
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
35
回帖
792
粉丝
0
关注
私信
xiilin
4
楼
理论上讲前++可以直接用inc m32,后++则要先把值弄到某寄存器里(因为下面可能还要用),然后inc m32,所以多了一个操作,但是早在几年前,编译器就不这么傻了,所以基本上可以说一样了。
这道题好像N年前就不考了吧。
2010-11-25 22:06
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
yy大雄
22
发帖
332
回帖
30
RANK
关注
私信
他的文章
[讨论]今天公司中招了,传个勒索病毒样本。
3476
[求助]帮忙推荐下web安全,渗透相关的书籍。
1926
[原创]模拟器模型提取工具OpenglRipperV1.0.1
8357
[讨论]吐槽下
3060
Unity 游戏脚本解密
10561
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部