-
-
[分享]vs2008在win7下编译的怪事
-
发表于:
2019-8-11 21:22
2018
-
今天用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编辑
,原因: