iOS开发内功kmp嵌入式系统研究

读书笔记 - 《程序员的自我修养》

2016-11-24  本文已影响476人  SeanCST

一、温故而知新

1. 内存不够怎么办

2. 线程

二、编译和链接

1. 被隐藏了的过程

2. 编译器

3. 静态链接

三、目标文件

1. 目标文件的格式

2. 目标文件

3. 挖掘目标文件

4. ELF 文件结构描述

5. 链接的接口 —— 符号

四、静态链接

1. 空间与地址分配

2. 符号解析与重定位

3. COMMON 块

4. C++ 相关问题

五、Windows PE / COFF

1. Windows 的二进制文件格式 PE / COFF

2. PE 的前身 —— COFF

3. 链接指示信息

4. 调试信息

5. 符号表

6. Windows 下的 ELF —— PE

六. 可执行文件的装载与进程

1. 进程虚拟地址空间

2. 装载的方式

3. 从操作系统角度看可执行文件的装载

4. 进程虚存空间分布

七、动态链接

1. 为什么要动态链接

2. 简单的动态链接

3. 地址无关代码

4. 迟延绑定 PLT

5. 动态链接相关结构

6. 动态链接步骤和实现

7. 显式运行时链接

八、Linux 共享库的组织

1. 共享库版本

2. 符号版本

3. 共享库系统路径

4. 共享库查找过程

5. 环境变量

6. 共享库的创建和安装

九、Windows 下的动态链接

1. DLL 简介

2. 符号导出导入表

3. DLL 优化

4. C++ 与动态链接

5. DLL HELL

十、 内存

1. 程序的内存布局

2. 栈与调用惯例

3. 堆与内存管理

十一、 运行库

1. 入口函数和程序初始化

2. C/C++ 运行库

3. 运行库与多线程

4. C++ 全局构造函数与析构

5. fread 实现

十二、 系统调用与 API

1. 系统调用介绍

2. 系统调用原理

3. Windows API

十三、 运行库实现

1. C 语言运行库

2. 如何使用 Mini CRT

3. C++ 运行库实现

4. 如何使用 Mini CRT++

上一篇下一篇

猜你喜欢

热点阅读