Book Image

Extreme C

By : Kamran Amini
Book Image

Extreme C

By: Kamran Amini

Overview of this book

There’s a lot more to C than knowing the language syntax. The industry looks for developers with a rigorous, scientific understanding of the principles and practices. Extreme C will teach you to use C’s advanced low-level power to write effective, efficient systems. This intensive, practical guide will help you become an expert C programmer. Building on your existing C knowledge, you will master preprocessor directives, macros, conditional compilation, pointers, and much more. You will gain new insight into algorithm design, functions, and structures. You will discover how C helps you squeeze maximum performance out of critical, resource-constrained applications. C still plays a critical role in 21st-century programming, remaining the core language for precision engineering, aviations, space research, and more. This book shows how C works with Unix, how to implement OO principles in C, and fully covers multi-processing. In Extreme C, Amini encourages you to think, question, apply, and experiment for yourself. The book is essential for anybody who wants to take their C to the next level.
Table of Contents (23 chapters)

Unit Testing and Debugging

It doesn't really matter which programming language you are using or what type of application you are developing, it is always important to thoroughly test it before delivering it to the customer.

Writing tests is not a new thing and as of today, you can find hundreds or even thousands of tests in almost every software project. Nowadays writing tests for software is a must and delivering a piece of code or feature without having it tested properly is strongly discouraged. That's why we have a dedicated chapter to talk about testing software written in C, and various libraries that exist today for this purpose.

Testing is not the only topic in this chapter, however. We will also be discussing the debugging tools and techniques that can be used to troubleshoot a C program. Testing and debugging have complimented one another from the start, and whenever a test fails, a series of investigations are followed and debugging the target code is a...