Skip to content

Commit d8c694d

Browse files
committed
2021-12-01 23:13:33
1 parent 40a0a0c commit d8c694d

File tree

12 files changed

+12
-12
lines changed

12 files changed

+12
-12
lines changed

trans/cpp-sys-prog-cb/00.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 前言
1+
# 零、前言
22

33
这本书旨在为系统编程的基本方面提供现成的解决方案(给开发人员),尽可能使用最新的 C++ 标准。系统编程涉及构建与操作系统紧密交互的计算机程序,并允许计算机硬件与程序员和用户交互。由于其高效的特性,即低级计算、数据抽象和面向对象的特性,C++ 是系统编程的首选语言。您将学习如何创建健壮的并发系统,还将了解具有共享内存和管道的进程间通信机制。展望未来,您将深入研究 C++ 内置库和框架,以便根据您的需求设计健壮的系统。
44

trans/cpp-sys-prog-cb/01.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 系统编程入门
1+
# 一、系统编程入门
22

33
在这一章,你将被介绍整本书的框架基础。您将学习(或更新您的知识)Linux 是如何设计的,您还将学习外壳、用户和组、进程标识和线程标识,以便能够熟练使用 Linux 系统,并为下一章做好准备。此外,你还将学习如何开发一个简单的`hello world`程序,并了解它的 makefile,以及如何执行和调试它。本章的另一个重要方面是从 shell 和源代码的角度了解 Linux 如何处理错误。这些基础知识对于理解后面章节中的其他高级主题非常重要。如果不需要复习,您可以安全地跳过这一章和下一章。
44

trans/cpp-sys-prog-cb/02.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 重温 C++
1+
# 二、重温 C++
22

33
这一章是对 C++ 11-20 的复习,这将贯穿全书。我们将解释为什么 C++ 代表了一个伟大的机会,在编写比以往任何时候都简洁和更具可移植性的高质量代码时,不应该错过这个机会。
44

trans/cpp-sys-prog-cb/03.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 处理进程和线程
1+
# 三、处理进程和线程
22

33
进程和线程是任何计算的基础。一个程序很少仅仅由一个线程或进程组成。在本章中,您将学习处理线程和进程的基本方法。您还将了解到与**便携式操作系统界面** ( **POSIX** )相比,处理线程是多么简单方便。作为系统开发人员核心技能的一部分,学习这些技能非常重要。C++ 在其标准库中没有*进程*的概念,所以将使用 Linux 原生实现。
44

trans/cpp-sys-prog-cb/04.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 深入探讨内存管理
1+
# 四、深入探讨内存管理
22

33
内存是处理系统开发的核心概念之一。分配、释放和学习如何管理内存,以及知道 C++ 可以提供什么来简化和管理内存,都是至关重要的。本章将通过学习如何使用 C++ 智能指针、对齐内存、内存映射输入/输出和分配器来帮助您掌握内存是如何工作的。
44

trans/cpp-sys-prog-cb/05.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 使用互斥、信号量和条件变量
1+
# 五、使用互斥、信号量和条件变量
22

33
本章将重点介绍可用于同步共享资源访问的最常见机制。我们将研究的同步机制可以防止一个关键部分(负责资源的程序段)被两个或多个进程或线程并发执行。在本章中,您将学习如何同时使用 POSIX 和 C++ 标准库同步构建块,例如互斥体、`std::condition_variable``std::promise``std::future`
44

trans/cpp-sys-prog-cb/06.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 管道、先进先出、消息队列和共享内存
1+
# 六、管道、先进先出、消息队列和共享内存
22

33
进程间的通信是软件系统的重要组成部分,选择合适的通信技术并不是一件简单的事情。开发人员在做出选择时应该记住的一个重要区别是进程是否将在同一台机器上运行。本章重点介绍第一类,您将学习如何基于管道、**先进先出** ( **先进先出**)、消息队列和共享内存开发**进程间通信** ( **IPC** )解决方案。它将首先概述第一个食谱中的四种 IPC 类型、它们的特点以及这些类型之间的差异。然后,每种类型的食谱将提供将它们应用于日常工作所需的实践信息。本章不包含任何特定于 C++ 的解决方案,以便让您熟悉 Linux 本机机制。
44

trans/cpp-sys-prog-cb/07.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 网络编程
1+
# 七、网络编程
22

33
[第 6 章](06.html)*管道、先进先出(FIFO)、消息队列和共享内存*中,我们学习了不同的 IPC 技术,以允许在同一台机器上运行的进程相互通信。在本章中(补充了[第 6 章](06.html)*管道、先进先出(FIFO)、消息队列和共享内存*中的内容),您将了解在两台不同的计算机上运行的两个进程如何实现相同的结果。这里介绍的主题是当今互联网如何工作的基础。你将通过实践学习面向连接和面向无连接通信的区别,定义端点的特征,最后两个食谱将教你如何使用 TCP/IP 和 UDP/IP。
44

trans/cpp-sys-prog-cb/08.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 处理控制台输入/输出和文件
1+
# 八、处理控制台输入/输出和文件
22

33
本章介绍了使用 C++ 标准库基于控制台、流和文件输入/输出的方法。我们已经在其他章节中向我们编写的程序中读取了参数,但是还有其他几种方法可以做到这一点。我们将深入探讨这些主题,并通过具体的、专门的实践方法学习每一个主题的替代方法、技巧和最佳实践。
44

trans/cpp-sys-prog-cb/09.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 处理时间接口
1+
# 九、处理时间接口
22

33
时间在操作系统和应用中有多种形式。通常,应用需要处理以下****时间:
44

0 commit comments

Comments
 (0)