Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Hands-On System Programming with C++: Build performant and concurrent Unix and Linux systems with C++17

Buy

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
(HTML tags aren't allowed.)

iPad Programming
iPad Programming

Hold an iPad in your hands and you'll know what the fuss is all about. Select an app and the device disappears as you find yourself immersed in the experience--the iPad defines a new category for devices. iPad Programming shows you how to build apps for the iPad that people will love to use.

This
...

Practical Eclipse Rich Client Platform Projects (Practical Projects)
Practical Eclipse Rich Client Platform Projects (Practical Projects)
Eclipse and the Rich Client Platform (RCP) together form a leading development platform. It provides a lightweight software component framework based on plug–ins. In addition to allowing Eclipse to be extended using other programming languages, it provides the key to the seamless integration of tools with Eclipse. The RPC gives Eclipse its...
Data Quality: Concepts, Methodologies and Techniques (Data-Centric Systems and Applications)
Data Quality: Concepts, Methodologies and Techniques (Data-Centric Systems and Applications)
Poor data quality can seriously hinder or damage the efficiency and effectiveness of organizations and businesses. The growing awareness of such repercussions has led to major public initiatives like the "Data Quality Act" in the USA and the "European 2003/98" directive of the European Parliament.

Batini and...


Winning Secrets of Online Poker
Winning Secrets of Online Poker

Get ready to develop and refine your online poker skills with these winning secrets! Effectively use the various tools at your disposal to examine your play and gain valuable insights about yourself and your opponents. Recognize cheating when it occurs and take action. Examine the decisions you need to make from the first round of cards to...

Definitive XSL-FO
Definitive XSL-FO
The definitive guide to state-of-the-art XML publishing with XSL-FO!

XSL-FO (XSL-Formatting Objects) enables enterprise applications to publish graphic-arts quality printed and electronic documents from any XML data store, no matter how large or complex. In Definitive XSL-FO, one of the world's leading XML experts shows how XSL-FO is...

Security Strategy: From Requirements to Reality
Security Strategy: From Requirements to Reality

Addressing the diminished understanding of the value of security on the executive side and a lack of good business processes on the security side, Security Strategy: From Requirements to Reality explains how to select, develop, and deploy the security strategy best suited to your organization. It clarifies the purpose and...

©2021 LearnIT (support@pdfchm.net) - Privacy Policy