更新时间:2023-08-10 16:56:52
封面
版权信息
内容简介
作者简介
序一 FOREWORD
序二 FOREWORD
序三 FOREWORD
序四 FOREWORD
前言 PREFACE
致谢
第1章 汇编基础
1.1 x86通用寄存器
1.1.1 32位架构
1.1.2 64位架构
1.2 常用汇编指令
1.2.1 整数加减指令
1.2.2 数据传输指令
1.2.3 入栈和出栈指令
1.2.4 分支跳转指令
1.2.5 过程调用指令
1.3 内存分页机制
1.3.1 线性地址
1.3.2 80386两级页表
1.3.3 PAE三级页表
1.3.4 x64四级页表
1.3.5 虚拟内存
1.4 汇编代码风格
1.5 本章小结
第2章 指针
2.1 指针构成
2.1.1 地址
2.1.2 元素类型
2.2 相关操作
2.2.1 取地址
2.2.2 解引用
2.2.3 强制类型转换
2.2.4 指针运算
2.3 unsafe包
2.3.1 标准库与keyword
2.3.2 关于uintptr
2.3.3 内存对齐
2.4 本章小结
第3章 函数
3.1 栈帧
3.1.1 栈帧布局
3.1.2 寻址方式
3.1.3 又见内存对齐
3.1.4 调用约定
3.1.5 Go 1.17的变化
3.2 逃逸分析
3.2.1 什么是逃逸分析
3.2.2 不逃逸分析
3.2.3 不逃逸判断
3.3 Function Value
3.3.1 函数指针
3.3.2 Function Value分析
3.3.3 闭包
3.4 defer
3.4.1 最初的链表
3.4.2 栈上分配
3.4.3 高效的open coded defer
3.5 panic
3.5.1 gopanic()函数
3.5.2 gorecover()函数
3.5.3 嵌套的panic
3.5.4 支持open coded defer
3.6 本章小结
第4章 方法
4.1 接收者类型
4.1.1 值类型
4.1.2 指针类型
4.1.3 包装方法
4.2 Method Value
4.2.1 基于类型
4.2.2 基于对象
4.3 组合式继承
4.3.1 嵌入值
4.3.2 嵌入指针
4.3.3 多重继承
4.4 本章小结
第5章 接口
5.1 空接口
5.1.1 一个更好的void∗
5.1.2 类型元数据
5.1.3 逃逸与装箱
5.2 非空接口
5.2.1 动态派发
5.2.2 具体实现
5.2.3 接收者类型
5.2.4 组合式继承
5.3 类型断言
5.3.1 E To具体类型
5.3.2 E To I
5.3.3 I To具体类型
5.3.4 I To I
5.4 反射
5.4.1 类型系统
5.4.2 类型元数据详细讲解
5.4.3 对数据的操作
5.4.4 对链接器裁剪的影响