Hands-On System Programming with C++: Build performant and concurrent Unix and Linux systems with C++17
暫譯: C++ 系統程式設計實務:使用 C++17 建構高效能與並行的 Unix 和 Linux 系統

Dr. Rian Quinn

  • 出版商: Packt Publishing
  • 出版日期: 2018-12-24
  • 售價: $1,750
  • 貴賓價: 9.5$1,663
  • 語言: 英文
  • 頁數: 552
  • 裝訂: Paperback
  • ISBN: 1789137888
  • ISBN-13: 9781789137880
  • 相關分類: C++ 程式語言Linux
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

A hands-on guide to making system programming with C++ easy

Key Features

  • Write system-level code leveraging C++17
  • Learn the internals of the Linux Application Binary Interface (ABI) and apply it to system programming
  • Explore C++ concurrency to take advantage of server-level constructs

Book Description

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 Initialization (RAII), and the new C++ Guideline Support Library (GSL), you will learn to program Linux and Unix systems along with process management. As you progress through the chapters, you will become acquainted with C++'s support for IO. You will then study various memory management methods, including a chapter on allocators and how they benefit system programming. You will also explore how to program file input and output and learn about POSIX sockets. This book will help you get to grips with safely setting up a UDP and TCP server/client.

Finally, you will be guided through Unix time interfaces, multithreading, and error handling with C++ exceptions. By the end of this book, you will be comfortable with using C++ to program high-quality systems.

What you will learn

  • Understand the benefits of using C++ for system programming
  • Program Linux/Unix systems using C++
  • Discover the advantages of Resource Acquisition Is Initialization (RAII)
  • Program both console and file input and output
  • Uncover the POSIX socket APIs and understand how to program them
  • Explore advanced system programming topics, such as C++ allocators
  • Use POSIX and C++ threads to program concurrent systems
  • Grasp how C++ can be used to create performant system applications

Who this book is for

If you are a fresh developer with intermediate knowledge of C++ but little or no knowledge of Unix and Linux system programming, this book will help you learn system programming with C++ in a practical way.

Table of Contents

  1. Getting Started with System Programming
  2. Learning the C, C++17 and POSIX Standards
  3. System Types for C++ and POSIX
  4. C++, RAII and the GSL Refresher
  5. Programming Linux / Unix System
  6. Learning to Program Console Input / Output
  7. A Comprehensive Look at Memory Management
  8. Learning to Program File Input / Output
  9. A Hands-On Approach to Allocators
  10. Programming POSIX Sockets using C++
  11. Time Interfaces in Unix
  12. Learn to Program POSIX and C++ Threads
  13. Error Handling with Exceptions

商品描述(中文翻譯)

**簡易系統程式設計的實作指南**

**主要特點**
- 利用 C++17 撰寫系統級程式碼
- 了解 Linux 應用程式二進位介面 (ABI) 的內部運作並應用於系統程式設計
- 探索 C++ 的併發性以利用伺服器級的結構

**書籍描述**
C++ 是一種通用程式語言,偏向於系統程式設計,因為它提供對硬體級資源的即時存取、高效的編譯以及對高階抽象的多樣化方法。

本書將幫助您理解使用 C++17 進行系統程式設計的好處。您將對各種 C、C++ 和 POSIX 標準有深入的了解,以及它們各自的 C++ 和 POSIX 系統類型。在簡短的 C++、資源獲取即初始化 (RAII) 和新的 C++ 指導方針支援庫 (GSL) 的回顧後,您將學會編程 Linux 和 Unix 系統以及進程管理。隨著您逐步進入各章節,您將熟悉 C++ 對 IO 的支援。接著,您將學習各種記憶體管理方法,包括一章關於分配器及其對系統程式設計的好處。您還將探索如何編程檔案的輸入和輸出,並了解 POSIX 套接字。本書將幫助您安全地設置 UDP 和 TCP 伺服器/客戶端。

最後,您將學習 Unix 時間介面、多執行緒以及使用 C++ 異常進行錯誤處理。到本書結束時,您將能夠自信地使用 C++ 來編程高品質的系統。

**您將學到的內容**
- 理解使用 C++ 進行系統程式設計的好處
- 使用 C++ 編程 Linux/Unix 系統
- 發現資源獲取即初始化 (RAII) 的優勢
- 編程控制台和檔案的輸入與輸出
- 探索 POSIX 套接字 API 並理解如何編程
- 深入探討高級系統程式設計主題,如 C++ 分配器
- 使用 POSIX 和 C++ 執行緒編程併發系統
- 理解如何使用 C++ 創建高效能的系統應用程式

**本書適合誰**
如果您是一位對 C++ 有中級知識但對 Unix 和 Linux 系統程式設計知之甚少或完全不知的初學者開發者,本書將幫助您以實用的方式學習使用 C++ 進行系統程式設計。

**目錄**
1. 系統程式設計入門
2. 學習 C、C++17 和 POSIX 標準
3. C++ 和 POSIX 的系統類型
4. C++、RAII 和 GSL 回顧
5. 編程 Linux / Unix 系統
6. 學習編程控制台輸入/輸出
7. 記憶體管理的全面探討
8. 學習編程檔案輸入/輸出
9. 分配器的實作方法
10. 使用 C++ 編程 POSIX 套接字
11. Unix 中的時間介面
12. 學習編程 POSIX 和 C++ 執行緒
13. 使用異常進行錯誤處理