1.清单22-8 FuncB中的szTemp没有显式用'\0'结尾。于是第5行的printf可能显示更长的字符串。
2.用esp寻址在vc2008,gcc中不可见。但可以通过下面的方式手工来验证。
__declspec(naked) void FuncB(char* szPara)
{
char szTemp[5]={0}; <-下断点,检查esp+4是否等于szPara
strncpy(szTemp, szPara,sizeof(szTemp)-1);
}