内容简介
C++ is a general-purpose programming language with a bias toward system programming as it provides ready access to hardware-level resources, efficient compilation, and a versatile approach to higher-level abstractions.This book will help you understand the benefits of system programming with C++17. You will gain a firm understanding of various C, C++, and POSIX standards, as well as their respective system types for both C++ and POSIX. After a brief refresher on C++, Resource Acquisition Is Init
AI简介
这是一本专注于C++系统编程的实战指南,深入讲解了如何使用C++17的新特性来编写高性能和并发的Unix和Linux系统。书中首先介绍了C++17系统编程实战指南,然后详细讲解了Linux ABI概述和构成,Unix系统架构和进程管理,内存分配与对齐,文件输入/输出的概念和意义,学习关于流式IO的基本概念,利用RAII管理socket资源,套接字类型,学习如何编程POSIX和C++线程,线程由操作系统调度执行,C++异常处理的基本概念和特点,错误处理机制比较总结,C++标准定义的语言和库,C标准定义的基本语言语法和API,文件描述符并不总是代表文件,线程的优势等内容。
书中首先介绍了C++17系统编程实战指南,包括std::filesystem,std::variant,std::optional,std::any等C++17新特性,以及如何使用C++17的协程特性来编写并发程序。接着,书中详细讲解了Linux ABI概述和构成,包括寄存器布局,栈帧,函数前导和尾码,调用约定,异常处理,虚拟内存布局,调试,二进制对象格式(在这里是ELF格式)以及程序加载和链接等。此外,书中还讲解了U