求解,为什么定义变量char a =10;short b = 20;int c =30;在反汇编中char变量和int变量的代码不一样,为什么对于short型变量编译器要用offset呢?难道编译器对于双字的就会这样处理吗?求大佬给小白解惑,谢谢!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
pureGavin 在汇编里是没有变量类型的,所有固定长度的变量全都储存在栈中,以基址加偏移的方式调用
Sunny灬 大佬,还是不明白为啥只有short会这样调用,而int和char就不用offset...
pureGavin 我说的很清楚了,汇编层面里没有变量类型,汇编根本不认识short、int或者char,至于用不用offset则是看编译器的优化
千音丶 这个offset是vs自己加上去的吧,你把注释关了再看看,,或者拖到od里去看