读书人

关于?)字符串哪位高手能解出来小弟

发布时间: 2012-04-24 14:15:38 作者: rapoo

关于??)字符串,谁能解出来,我拜他为师!
解释下为什么??)输出是]
测试环境:Microsoft Windows XP Professional Service Pack 3
编译器:VC6.0 VS2008 MinGW
执行下列代码:
cout<<"??)"<<endl;
MinGW输出正常,而VC6.0和VS2008则输出为]
换成printf输出依旧是],说明不是cout的问题,
改代码成:
char temp[4] = "??)";
cout<<temp<<endl;
调试发现,在输出前temp里面的内容就变成']',而单独对每个字符进行复制,输出是没问题的,说明问题来源于
char temp[4] = "??)";
看这句的汇编语言:
mov ax,word ptr [string "]" (417808h)]
说明这个问题来于编译过程,微软的编译是通过cl.exe来进行了的.
IDA工具用的不熟悉,接下来无法分析了。



[解决办法]
mov ax,word ptr [string "]" (417808h)]
把“]”对应的地址存入ax寄存器

输出??应该是编码问题了,
[解决办法]
在VS2010里试验,没有问题。LZ换新装吧,旧衣服可以扔了。
[解决办法]

探讨
在VS2010里试验,没有问题。LZ换新装吧,旧衣服可以扔了。

[解决办法]
探讨
嗯,貌似就是三元组,哪有详细解释啊?

读书人网 >C++

热点推荐