程序员的自我修养链接装载与库
程序员的自我修养链接装载与库
哈士奇超帅
我变秃了 也变强了
展开
-
编译与链接
编译与链接 预编译 展开所有"#“开头的预编译指令,如”#include"、"#ifdef" 删除注释 添加行号和文件名标识用于编译器产生调试符号 保留所有"pragram"编译器指令,编译器需要使用 #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } gcc -E hell...原创 2018-11-12 23:19:21 · 249 阅读 · 0 评论 -
如何将计算机有限的内存分配给多个程序使用
如何将计算机有限的内存分配给多个程序使用 需要解决下列问题: 地址空间不隔离 内存使用效率低 程序运行的地址不确定 增加中间层,使用间接的地址访问方法。我们将程序给出的地址看成一种虚拟地址(Virtual Address),然后通过某种映射的方法,将虚拟地址转换成实际的物理地址。 分段(Segmentation) 比如程序A需要10MB内存,我们假设有一个地址从0x00000000到0x00A...原创 2018-11-08 22:03:50 · 1878 阅读 · 0 评论 -
线程基础
线程基础 线程(Thread):有时被称为轻量级进程(Lightweight Process,LWP),是程序执行最小单位。 线程组成:线程ID、当前指令指针(PC)、寄存器集合、堆栈 通常意义上,一个进程由一个到多个线程组成,各个线程之间共享程序的内存空间(包括代码段、数据段、堆等)及一些进程及的资源(如打开的文件信号)。一个经典的线程和进程关系图如下所示: 使用多线程的必要性 单线程等待时...原创 2018-11-08 22:46:46 · 166 阅读 · 0 评论 -
目标文件里有什么
目标文件里有什么 目标文件的格式 现在PC平台比较流行的是: Windows下的PE(Portable Excutable) Linux的ELF(Excutable Linkable Format) 它们都是COFF(Comon File Fotmat)文件的变种 ELF格式文件分类 ELF文件类型 说明 实例 可重定位文件(Relocatable File) 这些文件包含了数...原创 2018-11-21 22:08:07 · 552 阅读 · 0 评论