展开全部

主编推荐语

从CPU的视角,多角度地揭秘编程语言背后的运行原理和设计之美。

内容简介

全书共6章。

第1章:介绍本书所使用到的主要工具和一些需要心里有数的预备知识;
第2章:解析最简单、常用的基础语法,帮助读者适应本书的节奏;
第3章:为进阶知识,会从CPU、操作系统的角度,深入分析函数的工作原理和实现细节;
第4章:解析经典的C语法,背后的实现逻辑,并介绍“面向对象”的编程思想及优缺点;
第5章:讨论跟操作系统强相关的软件技术,会将所有章节的内容贯穿起来,初步形成一个现代操作系统的运作模型;
第6章:我们会讨论一些经典的面试、笔试题,跟读者一起分享工作、学习、求职中的苦与乐。

本书可作为高等院校计算机、自动化及相关专业的本科生或研究生教材,也可供对C/C工作原理、操纵系统感兴趣的研究人员和工程技术人员阅读参考。

目录

  • 版权信息
  • 内容简介
  • 作者简介
  • 推荐序一
  • 推荐序二
  • 推荐序三
  • 前言
  • 第1章 预备知识
  • 阅读建议
  • 1.1 工具介绍
  • Compiler Explorer
  • 使用方法
  • 热点问题
  • 1.2 CPU眼里的程序运行
  • 提出问题
  • 代码分析
  • 热点问题
  • 1.3 CPU眼里的汇编语言
  • 汇编语言是必需的吗?
  • 代码分析
  • 思考
  • 热点问题
  • 第2章 基础语法
  • 阅读建议
  • 2.1 CPU眼里的main函数
  • 提出问题
  • 代码分析
  • 热点问题
  • 2.2 CPU眼里的变量
  • 提出问题
  • 认识内存
  • 代码分析
  • 热点问题
  • 2.3 CPU眼里的goto、if else
  • 提出问题
  • goto代码分析
  • if…else代码分析
  • goto的风险和应用
  • 热点问题
  • 2.4 CPU眼里的指针变量
  • 提出问题
  • 指针变量
  • 指针*操作
  • 指针±操作
  • 热点问题
  • 2.5 CPU眼里的指针本质和风险
  • 提出问题
  • 代码分析
  • 指针的风险
  • 热点问题
  • 2.6 CPU眼里的数组
  • 提出问题
  • 一维数组
  • 多维数组
  • 2.7 CPU眼里的数组越界
  • 阅读建议
  • 提出问题
  • 代码分析
  • 编程轶事
  • 热点问题
  • 2.8 CPU眼里的引用
  • 提出问题
  • 代码分析
  • 热点问题
  • 2.9 CPU眼里的i++与++i
  • 提出问题
  • 代码分析
  • 差异分析
  • 热点问题
  • 2.10 代码陷阱类型转换
  • 提出问题
  • 代码分析
  • 解决办法
  • 编程轶事
  • 第3章 函数原理
  • 阅读建议
  • 3.1 CPU眼里的参数传递
  • 提出问题
  • 代码分析
  • 传值:变量值,不可改
  • 传指针:变量值,可改
  • 传引用vs传指针
  • 热点问题
  • 3.2 CPU眼里的函数括号{}
  • 提出问题
  • 代码分析
  • 热点问题
  • 3.3 CPU眼里的调用和返回
  • 提出问题
  • 代码分析
  • 热点问题
  • 3.4 CPU眼里的函数指针
  • 提出问题
  • 代码分析
  • 热点问题
  • 3.5 CPU眼里的函数返回值
  • 提出问题
  • 代码分析
  • 热点问题
  • 3.6 CPU眼里的堆和栈
  • 提出问题
  • “栈”的分析
  • “栈”的生长方向
  • “堆”的分析
  • “堆”的生长方向
  • 编程轶事
  • 热点问题
  • 3.7 函数实验回溯函数调用关系
  • 提出问题
  • 代码分析
  • 编程轶事
  • 第4章 C++特性
  • 阅读建议
  • 4.1 CPU眼里的this
  • 提出问题
  • 代码分析
  • 热点问题
  • 4.2 CPU眼里的构造函数
  • 提出问题
  • 代码分析
  • 热点问题
  • 4.3 CPU眼里的虚函数
  • 提出问题
  • 代码分析
  • 热点问题
  • 4.4 CPU眼里的多态
  • 提出问题
  • 代码分析
  • 实例分析
  • 热点问题
  • 4.5 CPU眼里的模板
  • 提出问题
  • 代码分析
  • 热点问题
  • 4.6 CPU眼里的malloc和new
  • 提出问题
  • 代码分析
  • 热点问题
  • 4.7 面向对象实践依赖反转
  • 提出问题
  • GuiLite介绍
  • 代码结构
  • 热点问题
  • 第5章 高级编程
  • 阅读建议
  • 5.1 CPU眼里的虚拟内存
  • 提出问题
  • 虚拟内存原理
  • 减少内存碎片
  • 简化运行条件
  • 隔离进程
  • 内存共享
  • SWAP
  • 热点问题
  • 5.2 坐井观天的进程
  • 提出问题
  • 代码分析
  • 进程vs线程
  • 热点问题
  • 5.3 CPU眼里的地址映射
  • 提出问题
  • 问题分析
  • 热点问题
  • 5.4 CPU眼里的volatile
  • 提出问题
  • 代码分析
  • 编程轶事
  • 热点问题
  • 5.5 CPU眼里的常量
  • 提出问题
  • 代码分析
  • 热点问题
  • 5.6 CPU眼里的系统调用
  • 提出问题
  • 代码分析
  • 热点问题
  • 5.7 CPU眼里的大端、小端
  • 提出问题
  • 代码分析
  • 编程轶事
  • 热点问题
  • 5.8 CPU眼里的上下文
  • 提出问题
  • 代码实验
  • 编程轶事
  • 热点问题
  • 5.9 CPU眼里的锁
  • 提出问题
  • 代码实验
  • 编程轶事
  • 热点问题
  • 第6章 面试挑战
  • 阅读建议
  • 6.1 static、global以及local
  • 提出问题
  • 代码分析
  • 热点问题
  • 6.2 数组和双重指针
  • 提出问题
  • 代码分析
  • 热点问题
  • 6.3 指针为什么这么难
  • 提出问题
  • 学习指针的困境
  • 指针的普通性和特殊性
  • 多重指针
  • 数组、指针的混用
  • 6.4 auto的工作原理
  • 提出问题
  • 代码分析
  • 6.5 thread_local的工作原理
  • 提出问题
  • 代码分析
  • 6.6 面试的技巧
  • 常见问题
  • 应对技巧
展开全部

评分及书评

5.0
3个评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。