kongkong
首页
归档
分类
标签
关于
链接、装载与库——目标文件(1)
* 一直被催更。。。 * 第三章 目标文件里面有什么 PC平台流行的可执行文件格式(Executable)主要为Windows下的PE(PortableExecutable)和Linux下的ELF(Executable LinkableFormat),都是COFF(Common file format)格式的变种。 编译器编译源代码后生成的目标文件,其结构已经是编译后的可执行文件格式,但还没有经
2020-06-27
Linux
链接、装载与库
链接、装载与库——编译与链接
* 从第二章开始不再按照目录的顺序总结,而是将大块知识点总结在一起。。。 * 第二章 编译和链接 集成开发环境(IDE)一般都将编译和链接的过程一步完成,此过程成为构建(Bulid)。但其掩盖了系统软件运行机制。 $gcc hello.c $./a.out 一个可执行文件的生成,可以分解成4个步骤:预处理(Prepressing)、编译(Compilation)、汇编(Assembly)和链接
2020-06-27
Linux
链接、装载与库
链接、装载与库——进程与线程
* 第一章最后一部分,part.3。。。 * 第一章 温故而知新1.6 众人拾柴火焰高1.6.1 线程基础1.线程(Thread),也称轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。进程由一个或多个线程组成,各线程之间共享(全局变量)代码段、数据段、堆、打开文件描述符、信号等。 2.线程拥
2020-06-27
Linux
链接、装载与库
链接、装载与库——虚拟地址空间
* 接着第一章继续,part.2。。。 * 第一章 温故而知新1.5 内存不够怎么办1.早期的计算机中,程序直接运行在物理内存上,即程序在运行时所访问的地址都是物理地址。计算机将有限的物理内存分配给多个程序使用。这种简单的内存分配策略有很多问题。 地址空间不隔离所有程序直接访问物理地址,程序所使用的内存空间不是相互隔离的。恶意程序可以很容易改写其他程序的内存数据。 内存使用效率低一个程序执行时
2020-06-27
Linux
链接、装载与库
链接、装载与库——计算机组成
* 从这篇开始连续记录我的读书笔记,将书中重要的知识点总结,方便自己以后快速回忆与阅读。那就先从《程序员的自我修养——装载、链接与库》第一章开始喽。 * 第一章 温故而知新1.1 从Hello World 说起无 1.2 万变不离其宗1.计算机中有三个最为关键的部件,分别为中央处理器CPU、内存和I/O控制芯片。 早期的CPU的核心频率与内存一样,所以直接连接在同一个总线(Bus)上。但为了协调
2020-06-27
Linux
链接、装载与库
初来乍到,请多多指教
学习的日子学习,是一个漫长的经历。期间的快乐和苦痛只有自己感受最深。 学习的路程——道阻且长,但在这路上最大的动力就是内心的信念和兴趣了。 学习也有一段时间了,其实内心一直反感诸如此类的博客,认为有这时间不如多看看几页书、多想想项目方案。但前天施老师的一句话让我重新思考了这个问题。没错,人也是一种遵循自然法则的生物。到了一定年龄,其实各机能就会到达顶峰,随后而来的就是下滑。这其中最可怕的就是记忆力
2020-06-26
Life
感想随笔
1
…
10
11
12
搜索
×
关键词