An Introduction to GCC

Description An Introduction to GCC provides an introduction to the GNU C and C++ Compilers, gcc and g++, which are part of the GNU Compiler Collection (GCC). This book explains how to use the compiler itself. Based on years of observation of questions posted on mailing lists, it guides the reader straight to the important options of GCC. This book is a guide to getting started with GCC, the GNU Compiler Collection. It will tell you how to use GCC as a programming tool. GCC is a programmin...
More

Learn C The Hard Way

Description The purpose of this book is to get you strong enough in C that you'll be able to write your own software in it, or modify someone else's code. At the end of the book we actually take code from a more famous book called K&R C and code review it using what you've learned. To get to this stage you'll have to learn a few things: The basics of C syntax and idioms. Compilation, make files, linkers. Finding bugs and preventing them. Defensive coding practices. Breaking C co...
More

Writing Bug-Free C Code

Description Advocating a style of C programming based upon data abstraction (classes) and run-time object verification, Writing Bug-Free C Code describes a technique that results in virtually bug-free code from the beginning. It details the key to writing bug-free code; the class methodology; designing modules; general tips; and a style guide. It is designed for C programmers interested in writing bug-free code. The class methodology helps to prevent bugs by making it easier to write C code....
More

The C Book

Description   The C Book is designed for programmers who already have some experience of using a modern high-level procedural programming language. The book concentrates on the things that are special to C. In particular, it is the way that C is used which is focused on. This is the online version of The C Book, second edition by  originally published by Addison Wesley in 1991. This version is made freely available. While this book is no longer in print, its content is still very ...
More

Course: Practical Programming in C (MIT)

  Course Description: This course provides a thorough introduction to the C programming language, the workhorse of the UNIX operating system and lingua franca of embedded processors and micro-controllers. The first two weeks will cover basic syntax and grammar, and expose students to practical programming techniques. The remaining lectures will focus on more advanced concepts, such as dynamic memory allocation, concurrency and synchronization, UNIX signals and process control,...
More