计算机基础
文章平均质量分 94
darkfaker
这个作者很懒,什么都没留下…
展开
-
函数调用堆栈_C底层18/2/25
前情提要 函数是C语言的基本组成单位,相信平常使用函数也是觉得很easy的,但是有没有深入了解一下其具体实现过程呢? 这里将对函数调用堆栈的具体过程做一个疏通,虽然不能保证很深入,很有知识,但能保证对函数调用堆栈的过程有一个大概的了解。因为这本身就是对初学者适用的。 我们要了解函数堆栈,就必须得先知道栈是个什么东西。先给出理论: 栈 栈在经典计算机中被定义为一个特殊的容器,用户可以...原创 2018-02-25 20:19:13 · 374 阅读 · 1 评论 -
链接过程中的符号重定位_C底层18/2/25
前情提要 对于编译和链接的基本过程,这里只对链接过过程的符号重定位做了解释,因为个人认为在链接过程中符号的重定位是最重要的一步,也是其精华所在,知道了这一步的实现过程可以解决很多问题,包括面试中可能会问到的关于extern等的方面。所以这里只有对符号重定位进行了详细的说明,如果想了解更多可以参看《程序员的自我修养》第2,3,6 章节。里面有很详细的解释。 如果对虚拟地址空间的内存分布还不够了...原创 2018-02-25 19:06:48 · 682 阅读 · 0 评论 -
函数调用约定及函数返回值_C底层18/2/26
前情提要 这次的这篇关于函数约定及返回值的博客,并没写的很精髓,如果看到了就只做参考吧。这方面的知识还是推荐看《程序员的自我修养》。 本文中有关于函数调用堆栈的内容可先浏览博客函数调用堆栈过程详解 一:函数调用约定 调用约定所规定的 1)函数参数的传递顺序和方式 这一项其实说的就是函数产生的参数入栈顺序会不同 对于C中的三个约定_cdecl _stdcall _fastca...原创 2018-02-26 18:54:16 · 590 阅读 · 0 评论 -
Linux中ELF文件的装载过程_linux基础18/3/1
前情提要 这片博客纯属为自己做个笔记,其中还有很多解释不到位的地方,特别是后面对底层源代码的分析,可能会有解释不恰当甚至不合理的地方。但我会在后面对源码有了更深层次的研究之后对这篇博客里的源码分析进行修改。还是一样,这篇博客还有很多的知识部分来自《程序员的自我修养》 Linux内核中的ELF文件装载过程之详解execve ———部分取材自《程序员的自我修养》 ...原创 2018-03-01 15:06:34 · 705 阅读 · 0 评论 -
当你敲下www.baidu.com后发生了什么 —Web前端与后端_网络基础/18/4/7
从域名到页面 —— Web前端与后端 这个问题可归结为一个很形象的问题: 从你敲下www.baidu.com之后发生了什么? 从全局角度可总结为一下几点: 1,浏览器向DNS服务器查找输入URL对应的IP地址 2,DNS服务器返回网站的IP地址 3,浏览器根据IP地址与目标Web服务器在80端口上建立TCP 连接。 4,浏览器获取客户端请求页面的HTML代码。 5,浏览器...原创 2018-04-07 16:37:23 · 1051 阅读 · 0 评论 -
IA32位Linux内核中的虚拟地址映射——上
IA32位Linux内核中的虚拟地址映射——上 虚拟地址空间布局 CPU知识储备 Linux 内存管理的基本框架 地址映射的基本过程 —— 推荐书籍《Linux内核源代码情景分析》 1,在分析Linux32内存地址映射前,先看一段简单的C语言程序代码在32位和64位系统上运行的结果: #include <stdio.h> { unsigned lon...原创 2018-04-05 14:02:00 · 643 阅读 · 0 评论