This is the code repository for C++ System Programming Cookbook , published by Packt.
Practical recipes for Linux system-level programming using the latest C++ features
C++ is the preferred language for system programming due to its efficient low-level computation, data abstraction, and object-oriented features. System programming is about designing and writing computer programs that interact closely with the underlying operating system and allow computer hardware to interface with the programmer and the user. The C++ System Programming Cookbook will serve as a reference for developers who want to have ready-to-use solutions for the essential aspects of system programming using the latest C++ standards wherever possible.
This book covers the following exciting features:
- Get up to speed with the fundamentals including makefile, man pages, compilation, and linking and debugging
- Understand how to deal with time interfaces, signals, and CPU scheduling
- Develop your knowledge of memory management
- Use processes and threads for advanced synchronizations (mutexes and condition variables)
- Understand interprocess communications (IPC): pipes, FIFOs, message queues, shared memory, and TCP and UDP
- Discover how to interact with the console (console I/O)
If you feel this book is for you, get your copy today!
All of the code is organized into folders. For example, Chapter02.
The code will look like the following:
std::cout << "Start ... " << std::endl;
{
User* developer = new User();
developer->cheers();
delete developer;
}
Following is what you need for this book: This book is for C++ developers who want to gain practical knowledge of systems programming. Though no experience of Linux system programming is assumed, intermediate knowledge of C++ is necessary.
With the following software and hardware list you can run all code files present in the book (Chapter 1-).
No | Software required | OS required |
---|---|---|
1 | C++ | Windows, macOS, Linux |
2 | Docker | Windows, macOS, Linux |
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click here to download it.
Onorato Vaticone is a software engineer with over 18 years of experience. A C++ expert, he has deep, system-level programming experience. An Agile coach and XP advocate, TDD and Simple Design are his everyday tools. He has worked on real-time systems (defense and energy transmission) with C++. During this time, he learned to write multiplatform code. Early in his career, he realized that a form of agility was needed. He holds an MSc in cloud computing and a BSc in computer engineering and software. He finds learning how things work under the hood to be fascinating!
Click here if you have any feedback or suggestions.