首页
社区
课程
招聘
[分享]vs2008在win7下编译的怪事
发表于: 2019-8-11 21:22 2019

[分享]vs2008在win7下编译的怪事

2019-8-11 21:22
2019
今天用vs2008在win7-64下编译这样一段代码:
int nLen = strlen(szName);
for(int i = 0; i < nLen ; ++i)
{....}
运行后, nLen =20,但for循环却根本没有执行,od载入看汇编,
结果发现在for循环之前莫名其妙的加了一个跳转:test esi,edi  jge xxxxxxxx(其中esi=196,edi=20),好神奇啊!!!!
然后把代码改成:
for(int i = 0; i < strlen(szName) ; ++i)
{....}
for循环就可以正确执行。
兄弟们,你们遇到过没有???

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-8-11 22:06 被nekaxi编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 12628
活跃值: (3127)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
跟代码无关
2019-8-12 07:18
0
雪    币: 4839
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
跟字母有关
2019-8-12 09:30
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
确实,跟字母有关,然后关键字母lz并没有发出来
2019-8-12 10:40
0
游客
登录 | 注册 方可回帖
返回
//