随笔分类 - 《程序员的自我修养》这里面的一些东西
摘要:2015.12.26的笔记,放在了草稿箱。2023.8.24发布一下吧。 第四章 静态链接 先上两个文件 // a.c extern int shared; int main() { int a = 100; swap(&a, &shared); } // b.c int shared = 1; v
阅读全文
摘要:先说明两个概念:中断和系统调用 一 系统调用: 是应用程序(运行库也是应用程序的一部分)与操作系统内核之间的接口,它决定了应用程序是如何和内核打交道的。 1, Linux系统调用:2.6.19版内核提供了319个系统调用。比如 exit fork read open close …… 2, 对Win
阅读全文
摘要:1,编译器编译源代码生成的文件叫做目标文件。从结构上说,是编译后的可执行文件,只不过还没有经过链接3.1目标文件的格式1,可执行文件的格式:Windows下的PE和Linux下的ELF2,从广义上说,目标文件与可执行文件的格式几乎是一样的,所以广义上可以将目标文件与可执行文件看成是一种类型的文件。3...
阅读全文
摘要:第二章编译和链接2.1被隐藏了的过程我们知道,一个程序由源代码到可执行文件往往由这几步构成:预处理(Prepressing)->编译(Compilation)->汇编(Assembly)->链接(Linking)。如图所示,2.1.1预编译#includeint main(void){ print...
阅读全文
摘要:(第一次写博客,好激动的说.......) 我们知道,一个程序由源代码到可执行文件往往由这几步构成: 预处理(Prepressing)-> 编译(Compilation)-> 汇编(Assembly)-> 链接(Linking)。 编译过程就是把预处理完的文件进行一系列词法分析、语法分析、语义分析及
阅读全文