Professional Programming Tools for C and C++ by Anton Gerdelan. Illustrated by Katja Žibrek.
Who is This Book For?

If you answer yes to any of the following then this book is definitely for you!

Cartoon characters from the book.
  • Are you looking to pick up a few new tools? Never used a fuzzer? You should!

  • Are you a graduate wanting some practical knowledge with techniques and tools that are used in the industry?

  • Are you a professor and want to show some neat tricks and tools to your class?

  • Are you an engineering manager, and want to improve the quality and performance of your team's code by improving their knowledge of memory sanitation, performance profiling, and CPU cache efficiency?

  • Are you finishing a product and want some tips on distributing your program for several platforms?

  • Are you starting a new job and you have to use Linux seriously for the first time?

This book presents a quick start to a full range of tools you can use for programming and shipping quality software written in the C or C++ programming languages. Each chapter addresses an important program development task, and introduces tools for completing the task on all the major desktop operating systems. We try to minimise the discussion, and get you started right away with practical instructions. Chapters have a section on Tips and Common Problems at the end.

Cartoon guide to using an integrated visual debugger.

In Chapter 4 Interactive Debuggers we learn how to make good use of command-line and visual debuggers, as well as the on-paper concept of a walk through your code, to understand the causes of errors in your program.

Cartoon guide to storing images in your program's memory.

In Chapter 2 Writing Out an Image File we add some colour to our programs by understanding how computers work with images, and find out it's not so difficult to do even for beginner programmers! We write out a binary image file that can open in graphics software, and then in Chapter 3 Binary Files and Hex Editors we work with a tool called a hex editor that lets us view the contents of the file to diagnose problems, and edit it manually.

Where to Buy

Paperback e-Book
Amazon amazon.com amazon.com
Ingram Planned. Planned.
itch.io (PDF) itch.io

Table of Contents

Preface
1 Coding Assertively with Assertions
2 Writing Out an Image File
3 Binary Files and Hex Editors
4 Interactive Debuggers
5 Performance Profilers
6 Build Systems
7 End Code Style Arguments with Clang-Format
8 Remove Lint with Static Analysis of Code
9 Fuzz Testing with AFL
10 Asm Inspection
11 Memory Debuggers, Sanitisers, and Cache Simulators
12 It worked on my computer! - Shipping the Program
13 Argh! My New Job is on Linux! - Unix Tools
Closing Remarks
Acknowledgements
About the Authors

Book Information

Paperback dimensions 192x235mm
Pages 146 full colour.
Language English.
ISBN 978-1-5272-5848-8

Source Code

Example programs, demonstrating code from each chapter, can be found at https://github.com/capnramses/pro_programming_tools_c_cpp.

Errata

Any corrections after printing will be published here.

About the Authors

Cartoon illustration of the authors.

Anton Gerdelan

I am a computer graphics programmer, living in Ireland. I earned a PhD in Computer Science from Massey University in New Zealand. I wrote a graphics book called Anton's OpenGL 4 Tutorials, which surprised me when it immediately became very popular. I worked for an Augmented Reality headset company called Daqri, which involved working with a lot of different engineers in offices around the world, and coordinating our work remotely for some pretty fantastic technology. I've done quite a bit of lecturing at universities, and make video games as a hobby.

Katja Žibrek

I am a researcher in graphics, currently residing in France and working at the Inria research institute. I studied Psychology at the University of Ljubljana, Slovenia, where I got introduced to Virtual Reality as a potential tool to study people. I needed to know more about graphics, so I continued with a PhD in Computer Science at Trinity College Dublin, Ireland. Because of my suspicious social science background it is probably better I stayed away from writing any parts of the book but I made some pretty pictures.