欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

为啥编译器要把函数的参数复制到函数的堆栈中

更新时间: 2014-01-05 03:16:12 责任编辑: Author_N1

 

为什么编译器要把函数的参数复制到函数的堆栈中

--参考方法--
vc 好像没有这样做
; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.21022.08 

TITLE M:\kc1.cpp
.686P
.XMM
include listing.inc
.model flat

INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES

PUBLIC ?func@@YAX_J@Z ; func
; Function compile flags: /Odtp
_TEXT SEGMENT
_a$ = 8 ; size = 8
?func@@YAX_J@Z PROC ; func
; File m:\kc1.cpp
; Line 3
push ebp
mov ebp, esp
pop ebp
ret 0
?func@@YAX_J@Z ENDP ; func
_TEXT ENDS
PUBLIC _main
; Function compile flags: /Odtp
_TEXT SEGMENT
_main PROC
; Line 6
push ebp
mov ebp, esp
; Line 7
push 4
push 2
call ?func@@YAX_J@Z ; func
add esp, 8
; Line 8
xor eax, eax
; Line 9
pop ebp
ret 0
_main ENDP
_TEXT ENDS
END
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:16:12
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20287/
本文WWW.DOC100.NET DOC100.NET版权所有。