![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入理解计算机系统
文章平均质量分 54
sp_13230409636
这个作者很懒,什么都没留下…
展开
-
78-C++函数调用过程
1.参数入栈1.4字节参数入栈,顺序:从右向左入栈(先入最后一个参数),方式:使用寄存器push带入先将b入栈,同时esp往上走,再将a入栈(从右向左入栈)2.8字节参数入栈,顺序:从右向左,方式:使用寄存器push带入先将b._2入栈,然后esp往上移(向低地址移动),然后将b._1入栈,然后esp往上移(向低地址移动),然后将a._2入栈,然后esp往上移(向低地址移动),然后将a._1入栈,然后esp往上移(向低地址移动),方式仍然是从右向左3.12字节参数入栈,顺序:从右向左,方式原创 2021-11-15 16:51:19 · 1494 阅读 · 0 评论 -
77-C++编译链接过程
磁盘:永久化存储,但是I/O慢内存:支持程序执行所需要的真实空间内存分为物理内存和虚拟内存物理内存:内存条,I/O快虚拟地址空间:逻辑上给到每个进程的执行空间虚拟内存:虚拟就是假的,不是内存是磁盘——交换空间,虚拟内存是在磁盘上提前划分了一块空间,当真实物理内存不够用时,将数据暂时置换到虚拟内存上为什么真实物理内存会不够用?程序执行时,会给每一个进程划分一个执行空间,在32位系统上,大小是4G(2^32),注意:是逻辑上给了4G的空间,并不是真的给了4G的空间,如果当前进程用不到4G的空间,就原创 2021-11-14 16:20:55 · 1450 阅读 · 2 评论 -
51-《深入理解计算机系统》阅读体会
1.计算机系统是由硬件和系统软件组成的2.hello程序的生命周期是从一个源程序(或者说源文件)开始的,即程序员通过编辑器创建并保存的文本文件,文件名是hello.c。3.像hello这样只有ASCII字符构成的文件称为文本文件,所有其他文件都成为二进制文件,系统中所有的信息——包括磁盘文件,内存中的程序,内存中存放的用户数据以及网络上传送的数据,都是二进制文件4.预处理阶段:预处理器根据以字符#开头的命令,修改原始的C程序。比如hello.c中第一行的#include <stdio.h>原创 2021-10-26 18:23:08 · 203 阅读 · 0 评论