ShowMessage(IntToStr(SizeOf(S1))); //获得 S1 变量的大小
ShowMessage(IntToStr(integer(S1))); //获得 S1 指向的字符串的指针地址
ShowMessage(IntToStr(integer(P))); //获得 P 指向的字符串的指针地址
ShowMessage(IntToStr(integer(S2))); //获得 S2 指向的字符串的指针地址
S1 := P;
ShowMessage(IntToStr(integer(S1)));
ShowMessage(IntToStr(integer(P)));
ShowMessage(IntToStr(integer(S2)));
end;
分析代码要点:
S2 := S1 验证我总结的第3点
P := PChar(S1) 验证我总结的第5点
S1 := P 验证我总结的第4点
我这里按顺序显示的结果(您的结果可能与此不同,但不妨碍分析)
4 <= S1 变量的大小
4530660 <= S1 指向的字符串的指针地址
4530660 <= P 指向的字符串的指针地址
4530660 <= S2 指向的字符串的指针地址
9780484 <= S1 指向的字符串的指针地址 (地址发生变化)
4530660 <= P 指向的字符串的指针地址
4530660 <= S2 指向的字符串的指针地址
关于分析它的汇编代码,我认为没什么必要,先搞清楚这些基本的操作!
dREAMtHEATER
2004.02.2
上一篇: 用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(上)
下一篇: 用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(下)
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




