Fork me on GitHub
摘要:被忽略的过程 对于C这种编译性语言,我们平时编译时,不管是通过IDE图形界面,还是通过命令行,总感觉编译一下就完成了,然后就得到了针对某OS和某CPU的二进制可执行文件(机器指令的文件)。但是实际上在源码到可执行文件中间隐藏了四个过程,这四个过程被OS默默的处理了。 编译四个过程:预处理、编译、汇编 阅读全文
posted @ 2018-07-31 16:11 克拉默与矩阵 阅读(2064) 评论(3) 推荐(6) 编辑
摘要:系统API里面也会有简单的指令,类似于a++这种,我们认为的简单指令对应到汇编可能很多条。执行在其中某一条汇编的时候可能就切换进程了。切换进程可能发生在用户态(虚拟内存的用户空间),也可能发生在内核态(虚拟内存的内核空间)。不管在哪,切换之前做好记录工作,保护现场,将来切换回来的时候继续执行。这样的 阅读全文
posted @ 2018-07-31 11:33 克拉默与矩阵 阅读(62) 评论(0) 推荐(0) 编辑