后台开发需要学习底层知识,只有底层知识掌握了,学一些中间件是信手捏来,中间件也是跑在底层的操作系统上。<<程序员的自我修养:链接、装载与库>>对学习底层知识非常有帮助,腾讯的朋友都是学习这本书。

目录:

第1部分 简介

第1章 温故而知新

1.1 从HELLO WORLD 说起

1.2 万变不离其宗

1.3 站得高,望得远

1.4 操作系统做什么

1.5 内存不够怎么办

1.6 众人拾柴火焰高

1.7 本章小结

第2部分 静态链接

第2章 编译和链接

2.1 被隐藏了的过程

2.2 编译器做了什么

2.3 链接器年龄比编译器长

2.4 模块拼装——静态链接

2.5 本章小结

第3章 目标文件里有什么

3.1 目标文件的格式

3.2 目标文件是什么样的

3.3 挖掘SIMPLESECTION.O

3.4 ELF 文件结构描述

3.5 链接的接口——符号

3.6 调试信息

3.7 本章小结

第4章 静态链接

4.1 空间与地址分配

4.2 符号解析与重定位

4.3 COMMON 块

4.4 C++相关问题

4.5 静态库链接

4.6 链接过程控制

4.7 BFD 库

4.8 本章小结

第5章 WINDOWS PE/COFF

5.1 WINDOWS 的二进制文件格式PE/COFF 134

5.2 PE 的前身——COFF

5.3 链接指示信息

5.4 调试信息

5.5 大家都有符号表

5.6 WINDOWS 下的ELF——PE

5.7 本章小结

第3部分 装载与动态链接

第6章 可执行文件的装载与进程

6.1 进程虚拟地址空间

6.2 装载的方式

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

6.4 进程虚存空间分布

6.5 LINUX 内核装载ELF 过程简介

6.6 WINDOWS PE 的装载

6.7 本章小结

第7章 动态链接

7.1 为什么要动态链接

7.2 简单的动态链接例子

7.3 地址无关代码

7.4 延迟绑定(PLT)

7.5 动态链接相关结构

7.6 动态链接的步骤和实现

7.7 显式运行时链接

7.8 本章小结

第8章 LINUX 共享库的组织

8.1 共享库版本

8.2 符号版本

8.3 共享库系统路径

8.4 共享库查找过程

8.5 环境变量

8.6 共享库的创建和安装

8.7 本章小结

第9章 WINDOWS 下的动态链接

9.1 DLL 简介

9.2 符号导出导入表

9.3 DLL 优化

9.4 C++与动态链接

9.5 DLL HELL

9.6 本章小结

第4部分 库与运行库

第10章 内存

10.1 程序的内存布局

10.2 栈与调用惯例

10.3 堆与内存管理

10.4 本章小结

第11章 运行库

11.1 入口函数和程序初始化

11.2 C/C++运行库

11.3 运行库与多线程

11.4 C++全局构造与析构

11.5 FREAD 实现

11.6 本章小结

第12章 系统调用与API

12.1 系统调用介绍

12.2 系统调用原理

12.3 WINDOWS API

12.4 本章小结

第13章 运行库实现

13.1 C 语言运行库

13.2 如何使用MINI CRT

13.3 C++运行库实现

13.4 如何使用MINI CRT++

13.5 本章小结

附录A

A.1 字节序(BYTE ORDER)

A.2 ELF 常见段

A.3 常用开发工具命令行参考

腾讯朋友力荐书籍:程序员的自我修养:链接、装载与库相关推荐

  1. 【《程序员的自我修养---链接装载于库》读书笔记】可执行文件的装载与进程

    系列文章目录 [<程序员的自我修养-链接装载于库>读书笔记]初探ELF [<程序员的自我修养-链接装载于库>读书笔记]windows PE/COFF [<程序员的自我修养 ...

  2. 《程序员的自我修养-链接-装载与库》第三章 目标文件里有什么(1)

    目录 0.引言 1.目标文件的格式 1.1 目标文件的格式及ELF文件格式的文件的分类 1.2 目标文件与可执行文件格式的小历史 2.目标文件是什么样的 2.1 程序与目标文件简介 2.2 BSS历史 ...

  3. 《程序员的自我修养—链接、装载与库》pdf书签,目录分享

    在网上下载到<程序员的自我修养-链接.装载与库>pdf版本,拜读之后受益匪浅,但是因为下载的pdf没有书签,所以想要查找某一章的内容不是很方便,于是自己制作了一下书签文件,将书签文件导入p ...

  4. 【读书笔记】【程序员的自我修养 -- 链接、装载与库(三)】函数调用与栈(this指针、返回值传递临时对象构建栈、运行库与多线程、_main函数、系统调用与中断向量表、Win32、可变参数、大小端

    文章目录 前言 介绍 内存 内存布局 栈与调用惯例 堆与内存管理 运行库 入口函数和程序初始化 C/C++运行库 运行库与多线程 C++全局构造与析构 fread 实现 系统调用与API 系统调用介绍 ...

  5. 程序员的自我修养—链接、装载与库 笔记

    程序员的自我修养-链接.装载与库 笔记 内存管理 直接使用物理内存地址 虚拟内存-分段 虚拟内存-分页 分页和分段的主要区别 段页式 代码生成过程 预处理 编译 词法分析 语法分析 语义分析 源代码优 ...

  6. 【读书笔记】【程序员的自我修养 -- 链接、装载与库(二)】进程虚拟地址空间、装载与动态链接、GOT、全局符号表、共享库的组织、DLL、C++与动态链接

    文章目录 前言 介绍 可执行文件的装载与进程 进程虚拟地址空间 装载方式 操作系统对可执行文件的装载 进程虚存空间分布 ELF文件的链接视图和执行视图 堆和栈 Linux 内核装载ELF & ...

  7. 《程序员的自我修养--链接、装载与库》笔记

    写在前面:本文是我在阅读<程序员的自我修养–链接.装载与库>一书时做的笔记,所谓好记性不如烂笔头嘛,其中主要摘抄记录了本人着重阅读的章节:除此之外还有小部分本人对书中内容的个人理解.以及文 ...

  8. 《程序员的自我修养--链接、装载与库》学习笔记(一)

    本系列文章是<程序员的自我修养–链接.装载与库>(电子工业出版社)一书的学习摘录笔记,本文是书中1.1至1.4部分. 文章目录 基础概念 硬件 软件 基础概念 #include <s ...

  9. 程序员的自我修养——链接、装载与库 笔记(一)

    程序员的自我修养   悄咪咪的说一句,这篇文章可能需要对计算机有过系统的学习,不然看着可能一脸懵.如果有疑问的话,当然,很可能是我太菜了,写的不好,欢迎大家评论区留言指教!此笔记只是刚刚开始,后续我会 ...

  10. 程序员的自我修养--链接、装载与库笔记:总结

    <程序员的自我修养----链接.装载与库>这本书是2009年出版的,书中有些内容的介绍可能已经过时,已不再适用于现在的C/C++开发,而且书中展示的结果均是在32位机上进行的操作,这里全部 ...

最新文章

  1. 设计新Xlator扩展GlusterFS[转]
  2. bsp模型适用于图计算_CODE V微信简报:光束合成传播算法(BSP)
  3. 配置终端服务连接的安全设置
  4. wgs utm java,Java,将经纬度转换为UTM
  5. Redis实现延迟队列
  6. Spark2.2(三十九):如何根据appName监控spark任务,当任务不存在则启动(任务存在当超过多久没有活动状态则kill,等待下次启动)...
  7. 斐讯k2p梅林忘记密码恢复出厂之后的解决办法
  8. cad怎么去除drawing1_CAD工具栏下边那行显示DraWing1的没了,如何找回?
  9. GmSSL 国密MS2/SM3/SM4/SM9/ZUC/SSL密码工具箱
  10. 工控蜜罐 Conpot 的进阶玩法
  11. 基于javaweb的企业员工绩效工资管理系统(java+springboot+freemarker+mysql)
  12. 实习每日总结_20161220
  13. 大学计算机第四讲答案,大学职业生涯规划课第四讲答案
  14. mysql用存储过程更新表_如何创建存储过程以更新MySQL表中的值?
  15. Servlet电子商城项目(入门级一)
  16. python datetime 时区_Python datetime 如何处理时区信息
  17. 自学数据结构_五月十日_综述
  18. 不仅仅是“屠龙之技”-编译器开发者的精神胜利!
  19. 《炬丰科技-半导体工艺》不破坏MEMS结构的颗粒去除方法
  20. 使用Gitee+Hexo搭建高速稳定的个人博客

热门文章

  1. 【错误记录】GitHub 提交代码失败、获取代码失败、连接超时、权限错误、ping 请求连接超时 ( 查找域名对应 IP | 设置 host 文件 )
  2. 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api
  3. 使用Mybatis Generator自动生成代码
  4. 课堂测试-找英语单词最长链
  5. Cmder命令行工具在Windows系统中的配置
  6. python中为什么需要使用“if __name__ == '__main__'”语句
  7. 线程同步monitor
  8. js 添加事件 attachEvent 和 addEventListener 的用法
  9. image和TFRecord互相转换
  10. sqlite-jdbc jar包下载过程笔记