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


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.)

Software Testing using Visual Studio 2012
Software Testing using Visual Studio 2012

Testing is one of the main phases in the software development lifecycle. Managing the test scenarios, test cases, defects, and linking each one of these is bit of a challenge without using any tools. For frequently changing businesses, it is essential to address testing requirements by matching the pace of the business. This can only be...

Off the Cuff: What to Say at a Moment's Notice
Off the Cuff: What to Say at a Moment's Notice
Impromptu speaking requires both timing and tact. With practice, spontaneity and the confidence the ability to make planned remarks seem ad-libbed and conversational can be learned. This book is a comprehensive approach to speaking for all occasions, and a guide to knowing what to say, when to say it, and how to say it right. It will teach you how...
Think Data Structures: Algorithms and Information Retrieval in Java
Think Data Structures: Algorithms and Information Retrieval in Java

If you’re a student studying computer science or a software developer preparing for technical interviews, this practical book will help you learn and review some of the most important ideas in software engineering—data structures and algorithms—in a way that’s clearer, more concise, and more engaging than...

Windows Phone 7 XNA Cookbook
Windows Phone 7 XNA Cookbook
Windows Phone certainly held the hot spot at the world-class consumer electronics event, the International CES in January 2012. Microsoft CEO Steve Ballmer said, “The past year has really been about the whole push to build what can clearly be the strong third ecosystem in the smartphone market, with a very differentiated...
Frommer's Caribbean 2011 (Frommer's Complete)
Frommer's Caribbean 2011 (Frommer's Complete)

In the Caribbean, you can hike through national parks and scuba dive along underwater mountains. But if your idea of the perfect island vacation is to plunk yourself down on the sands with a frosted drink in hand, you can do that, too. Whetheryou want a veranda with a view of the sea or a plantation house set in a field of sugar...

I. M. Wright's  Hard Code (Best Practices)
I. M. Wright's Hard Code (Best Practices)
From the popular I. M. Wrights Hard Code column at Microsoft, this book presents a series of thematically-arranged essays. It features provocative insights about development processes that can spark the imaginationand help simulate productivity.

Key Book Benefits:

Provides insights into how Microsoft drives excellence in...

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