作品简介

C/C++是当今最重要、最流行的编程语言之一,由于其出色的性能,在游戏、人工智能、高性能计算、物联网、嵌入式开发中,扮演着舍我其谁的角色。同时C/C++语言本身也是软件领域的神作,更是了解CPU、计算机系统、操作系统的钥匙。本书并不重复AI也能回答的C/C++语法知识,而是从CPU的视角,配合具体的实验环境,图文并茂地深入剖析其背后的运作机制和简洁的设计艺术,破除语法灰色、晦涩的地带,让读者眼中有代码,心中有指令。拥有一个涵盖代码、指令、CPU、内存的软、硬件图景。

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

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

阿布编程(原名:杨晓涛),微软云计算与人工智能事业部软件工程师。喜欢关注和敬畏生活中渺小的人和事。

作品目录

  • 内容简介
  • 作者简介
  • 推荐序一
  • 推荐序二
  • 推荐序三
  • 前言
  • 第1章 预备知识
  • 阅读建议
  • 1.1 工具介绍
  • 1.2 CPU眼里的程序运行
  • 1.3 CPU眼里的汇编语言
  • 第2章 基础语法
  • 阅读建议
  • 2.1 CPU眼里的main函数
  • 2.2 CPU眼里的变量
  • 2.3 CPU眼里的goto、if else
  • 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眼里的参数传递
  • 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 面向对象实践依赖反转
  • 第5章 高级编程
  • 阅读建议
  • 5.1 CPU眼里的虚拟内存
  • 5.2 坐井观天的进程
  • 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 面试的技巧
展开全部