-
-
[求助]程序编译的问题
-
发表于:
2005-3-27 17:21
3526
-
一个很小的函数,但编译器竟译的很复杂,这是为什么?
函数是: char c(){return 'c'}
反汇编后发现被译成:
004010D0 >/> 55 PUSH EBP
004010D1 |. 8BEC MOV EBP,ESP
004010D3 |. 83EC 40 SUB ESP,40
004010D6 |. 53 PUSH EBX
004010D7 |. 56 PUSH ESI
004010D8 |. 57 PUSH EDI
004010D9 |. 8D7D C0 LEA EDI,DWORD PTR SS:[EBP-40]
004010DC |. B9 10000000 MOV ECX,10
004010E1 |. B8 CCCCCCCC MOV EAX,CCCCCCCC
004010E6 |. F3:AB REP STOS DWORD PTR ES:[EDI]
004010E8 |. B0 63 MOV AL,63 //真正有用的好象只有这句。
004010EA |. 5F POP EDI
004010EB |. 5E POP ESI
004010EC |. 5B POP EBX
004010ED |. 8BE5 MOV ESP,EBP
004010EF |. 5D POP EBP
004010F0 >\. C3 RETN
除了那句真正有用的,其它代码都在干吗?
[培训]科锐逆向工程师培训第53期2025年7月8日开班!