FreeComputerBooks.com
Links to Free Computer, Mathematics, Technical Books all over the World
|
|
- Title: Hands-On System Programming with C++: Build Performant and Concurrent Unix and Linux Systems with C++17
- Author(s) Dr. Rian Quinn
- Publisher: Packt Publishing (December 26, 2018); eBook (Free Edition)
- Permission: Free eBook by the Publisher (Packt)
- Paperback: 522 pages
- eBook: HTML
- Language: English
- ISBN-10: 1789137888
- ISBN-13: 978-1789137880
- Share This:
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.
- 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
- Dr. Rian Quinn is a Chief Technology Officer (CTO) in the Advanced Technologies Business Unit at Assured Information Security, Inc. focused on trusted computing, hypervisor related technologies, machine learning/artificial intelligence, and cyber security for more than 10 years and has 9 years of technical management and business development experience. He holds a Ph.D. in Computer Engineering, specializations in information assurance and computer architectures, from Binghamton University.
- The C++ Programming Language
- Unix/Linux Programming - System and Applications
- The C Programming Language
-
Fundamentals of Programming C++ (Richard L. Halterman)
This book teaches the basics of C++ programming in an easy-to-follow style, without assuming previous experience in any other language. It explains fundamental concepts and techniques in greater depth than traditional introductions.
-
O'Reilly® Using C on the UNIX System (David A. Curry)
This book provides a thorough introduction to the UNIX system call libraries. It is aimed at programmers who already know C, but who want to take full advantage of the UNIX programming environment.
-
x86-64 Assembly Language Programming with Ubuntu
This book provides a reference for University level assembly language and systems programming courses. Specifically, this text addresses the x86-64 instruction set for the popular x86-64 class of processors using the Ubuntu 64-bit Operating System (OS).
-
The Art of UNIX Programming (Eric Steven Raymond)
This book attempts to capture the engineering wisdom and design philosophy of the UNIX, Linux, and Open Source software development community, and as it is applied today by the most experienced programmers.
-
Advanced Linux Programming (Mark L. Mitchell, et al)
This book focuses mostly on the Application Programming Interface (API) provided by the Linux kernel and the C library. It contains a preliminary introduction to the development tools available.
-
O'Reilly® Linux Device Drivers, 3rd Edition (Jonathan Corbet)
The 3rd edition of Linux Device Drivers is better than ever. The book covers all the significant changes to Version 2.6 of the Linux kernel, which simplifies many activities, and contains subtle new features.
-
Unix System Programming in OCaml (Xavier Leroy, et al)
This book is an introductory course on Unix system programming, with an emphasis on communications between processes, using OCaml. This gives an unusual perspective on systems programming and on the ML language.
-
O'Reilly® UNIX Systems Programming for SVR4 (David A. Curry)
This book gives you the nitty-gritty details on how UNIX interacts with applications. If you're writing an application from scratch, or if you're porting an application to any System V Release 4 (SVR4) platform, you need this book.
-
The Unix Programming Environment (Mark Burgess)
Designed for first-time and experienced users, this book describes the UNIX® programming environment and philosophy in detail.
-
The Linux Development Platform (Rafeeq Ur Rehman, et al)
This book describes how to build a development environment based upon Linux systems. It provides a one-stop reference on all the tools used by the Open Source community for development purposes.
-
Beej's Guide to Unix Network Programming (Brian Hall)
The Guide is designed to irreverently ease your first steps into Internet Sockets programming in C. Starting from the ground up, it provides complete examples of simple clients and servers supporting both IPv6 and IPv4.
-
Programming UNIX Sockets in C - Frequently Asked Questions
This is a list of frequently asked questions, with answers about programming TCP/IP applications in UNIC with the sockets interface.
-
The Linux Kernel Module Programming Guide (Peter Jay Salzman)
This book is an excellent guide for people who want to write kernel modules. It takes a hands-on approach starting with writing a small "hello, world" program, and quickly moves from there. Far from a boring text on programming, Linux Kernel Module Programming Guide has a lively style that entertains while it educates.
-
C Programming in Linux (David Haskins)
This book will give you an interesting glimpse into a powerful lower-level world, using a series of web development examples. It explains how to write and compile C programs for the Linux operating system, introduces operators for manipulating C expressions, etc.
:
|
|