上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页
摘要: 为什么要使用动态链接(时间换空间)? 静态链接使得不同的部门可以开发不同的模块,极大的提高了开发的效率。但是随之带来了空间浪费,和更新复杂的问题。空间浪费:静态链接讲求的是合并,将多个文件进行合并成一个可执行文件,其中可能包含了库文件。一个可执行文件合并库文件一次,一千个可执行文件合并了一千次,将这 阅读全文
posted @ 2022-12-23 10:45 stu--wy 阅读(69) 评论(0) 推荐(0)
摘要: 程序执行时所需要的指令和数据必须在内存中才能够正常运行,最简单的办法就是将程序运行所需要的指令和数据全都装入内存中。但是内存不够硬伤,所以采用动态装入。 动态装载 装载的两种方式:曾经使用的覆盖装入,现在使用的页映射。 覆盖装入:将模块按照它们之间的依赖关系组织成树状结构。本质上还是想节约内存,将没 阅读全文
posted @ 2022-12-18 16:05 stu--wy 阅读(98) 评论(0) 推荐(0)
摘要: C++的一些语言特性使之必须和编译器链接器共同支持才能工作。 重复代码消除 全局构造和析构 重复代码消除: C++编译器在很多时候会产生重复的代码,比如模板(Templates)、外部内联函数和虚函数表(Virtual Function Table)都有可能在不同的编译单元里生成相同的代码。最简单的 阅读全文
posted @ 2022-12-17 10:03 stu--wy 阅读(45) 评论(0) 推荐(0)
摘要: 对于整个链接器来讲,它的工作就是将几个目标输入文件加工后合并成一个输出文件。 链接器如何将它们的各个段合并到输出文件? 按序叠加。但是直接将输入文件叠加。 相似段合并。将相同性质的段合并到一起。 链接采用相似段合并。链接的步骤分两步: 第一步:合并+分配虚拟地址空间。 在链接之前,所有的段的虚拟地址 阅读全文
posted @ 2022-12-16 21:42 stu--wy 阅读(66) 评论(0) 推荐(0)
摘要: 链接的接口--符号 在链接中,我们将函数和变量统称为符号,每个文件都有一个相应的符号表,这个符号表记录了目标文件中的所有符号。每个符号对应了一个符号值,对于函数和变量名,符号值就是他们对应的地址。符号可能是定义在本目标文件的全局符号,在本目标文件引用的全局符号等。 符号表--》结构体数组 符号表也像 阅读全文
posted @ 2022-12-16 20:32 stu--wy 阅读(118) 评论(0) 推荐(0)
摘要: cppreference.com c++手册 guides.github.com/introduction/git-handbook git手册 https://cs144.github.io/assignments/lab0.pdf pdf文档 鸠摩搜索 检索免费的电子书 github.com s 阅读全文
posted @ 2022-12-16 15:37 stu--wy 阅读(426) 评论(0) 推荐(0)
摘要: CPU,IO,内存是核心的硬件。 理论上讲,增加CPU的数量会提高运行速度,且CPU的数量和运算速度成正比。但是我们的程序并不都能分成多个不相干的子问题。 操作系统的一个功能是提供抽象的接口,另外一个主要功能是管理硬件资源。 计算机的能力是有限的,无论你是否使用它,资源总是那么多,所以人们挖空心思要 阅读全文
posted @ 2022-12-16 15:24 stu--wy 阅读(31) 评论(0) 推荐(0)
摘要: hello,world 是怎么执行的?总体来讲就是四个步骤。 预处理 编译 汇编 链接 1.预处理的动作如下: 2.编译(将是一个大动作,有限状态机)生成汇编代码 扫描:字面理解 语法分析:生成一棵语法树。 语义分析:语法有没有确定的意义,比如两个指针相乘是没有意义的,编译阶段的语义分许是静态语义。 阅读全文
posted @ 2022-12-16 15:23 stu--wy 阅读(81) 评论(0) 推荐(0)
摘要: 编译器在编译源代码后生成的文件叫目标文件,就是指编译后未进行链接的中间文件,目标文件与可执行文件的结构和内容很相似,从广义上看,目标文件和可执行文件的格式几乎是一样的。动态链接库也是按照可执行文件的格式存储的,静态链接库是把很多目标文件捆绑在一起形成一个文件,再加上一些索引。 ELF 文件的类型 可 阅读全文
posted @ 2022-12-16 15:22 stu--wy 阅读(209) 评论(0) 推荐(0)
摘要: linux 的桌面环境X窗口系统。 shell 脚本:个人理解:将命令进行封装,加入逻辑控制。 硬盘分区是指利用分区编辑器在磁盘上划分几个分区,对操作系统而言,每个分区相当于一个相对独立的磁盘。各个分区可以分别创建不同的文件系统,安装不同的操作系统。 常见的文件系统:FAT系统,NTFS,EXT,V 阅读全文
posted @ 2022-12-13 11:22 stu--wy 阅读(66) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页