
程序员的自我修养
文章平均质量分 92
Simple Simple
biubiubiu...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(栈帧和函数调用二)_stdcall和_cdecl的区别
栈帧和函数调用(二)一,函数调用惯例二,_cdecl三,_stdcall四,总结 通过上文的介绍,我们大致知道了函数调用时实际发生了什么,以及为什么我们使用编译器调试代码时,可以通过栈回溯看到整个调用的流程。从这样的信息里能够发现一个现象,那就是函数的调用方和被调用方对函数如何调用有这统一的理解,例如,它们双方都一致认同函数参数是按照某个...原创 2019-11-01 11:20:03 · 8831 阅读 · 0 评论 -
(栈帧和函数调用一)栈帧,函数调用与栈的关系
栈帧和函数调用(一)一,栈帧的介绍二,函数调用与栈的关系三,汇编演示 在计算机科学中,栈是一个特殊的容器,用户可以将数据压入栈中(入栈,push),也可以将已经压入栈中的数据弹出(出栈,pop),但栈容器必须准守一个规则:先入栈的数据后出栈(First In Last Out,FIFO)。 ...原创 2019-11-01 11:06:51 · 9620 阅读 · 0 评论 -
程序的编译与链接
程序的编译与链接一,预处理二, 编译1,词法分析2,语法分析3,语义分析4,中间语言的生成5,目标代码生成和优化三,链接 在日常的应用程序开发过程中,我们很少需要关注软件的编译和连接过程,特别是对于常用的集成开发环境visual studio,它将编译和链接的过程封装起来,一步完成,称为“构建”。 &n...原创 2020-03-08 23:20:41 · 9333 阅读 · 0 评论 -
(栈帧和函数调用三)函数返回值的传递
(栈帧和函数调用三)函数返回值的传递一,函数返回值在5-8字节之间二,函数返回值超过8字节三,使用对象作为函数返回值四,总结 在本系列第一篇文章的总结中,我们提到过,从该例子的汇编代码中可以看到,函数的返回值是保存在eax寄存器中,在x86环境中,eax是一个32位的寄存器,只占有4个字节,对于函数返回值超过4个字节的情况又是如何传递的呢...原创 2019-11-13 22:07:25 · 10529 阅读 · 0 评论