Skip to main content

Writing Bug Free C Code

https://www.duckware.com/bugfreec/index.html


Writing Bug-Free C Code
A Programming Style That Automatically Detects Bugs in C Code
by Jerry Jongerius / January 1995


Note to this online book: On April 29, 2002, I reacquired the publishing
rights to my book (from Prentice Hall), and have decided to publish it
online, where it is now freely available for anyone to read (and print -
provided that the printed copy is only for your personal use). I have
personally moved on to the Java programming language, and now to HTML5.
This book is showing its age, but for anyone who still programs in C,
the techniques described in this book -- especially the class
methodology in Chapter 4 -- are still a 'little gem' worth knowing
about. Enjoy! jerryj@duckware.com

0. Preface
1. Understand Why Bugs Exist
2. Know Your Environment
3. Rock-Solid Base
4. The Class Methodology
5. A New Heap Manager
6. Designing Modules
7. General Tips
8. Style Guide
9. Conclusion
A. Appendix: Code Listings
References
C Programming with:

Class Methodology §4
Data hiding §4.2
Runtime type checking §4.4
Compile time type checking §4.3
Fault tolerant asserts §3.3
Fault tolerant functions §4.6
Compile-time asserts §2.1.4
Symbolic heap walking §5.2.9
Heap leak detection §5.5


Book C Source Code (9k): source.zip (for DOS, Windows, UNIX, etc)

Sections of this book that talk about Microsoft or Windows are
generally marked with the 'Windows' graphic. You can safely skip those
sections of this book if you want to.

Copyright © 1993-1995, 2002-2015 Jerry Jongerius, jerryj@duckware.com
This book was previously published by Person Education, Inc.,
formerly known as Prentice Hall. ISBN: 0-13-183898-9
Check Amazon for used paperback availability

Comments

Popular posts from this blog

The Difference Between LEGO MINDSTORMS EV3 Home Edition (#31313) and LEGO MINDSTORMS Education EV3 (#45544)

http://robotsquare.com/2013/11/25/difference-between-ev3-home-edition-and-education-ev3/ This article covers the difference between the LEGO MINDSTORMS EV3 Home Edition and LEGO MINDSTORMS Education EV3 products. Other articles in the ‘difference between’ series: * The difference and compatibility between EV3 and NXT ( link ) * The difference between NXT Home Edition and NXT Education products ( link ) One robotics platform, two targets The LEGO MINDSTORMS EV3 robotics platform has been developed for two different target audiences. We have home users (children and hobbyists) and educational users (students and teachers). LEGO has designed a base set for each group, as well as several add on sets. There isn’t a clear line between home users and educational users, though. It’s fine to use the Education set at home, and it’s fine to use the Home Edition set at school. This article aims to clarify the differences between the two product lines so you can decide which

Let’s ban PowerPoint in lectures – it makes students more stupid and professors more boring

https://theconversation.com/lets-ban-powerpoint-in-lectures-it-makes-students-more-stupid-and-professors-more-boring-36183 Reading bullet points off a screen doesn't teach anyone anything. Author Bent Meier Sørensen Professor in Philosophy and Business at Copenhagen Business School Disclosure Statement Bent Meier Sørensen does not work for, consult to, own shares in or receive funding from any company or organisation that would benefit from this article, and has no relevant affiliations. The Conversation is funded by CSIRO, Melbourne, Monash, RMIT, UTS, UWA, ACU, ANU, ASB, Baker IDI, Canberra, CDU, Curtin, Deakin, ECU, Flinders, Griffith, the Harry Perkins Institute, JCU, La Trobe, Massey, Murdoch, Newcastle, UQ, QUT, SAHMRI, Swinburne, Sydney, UNDA, UNE, UniSA, UNSW, USC, USQ, UTAS, UWS, VU and Wollongong.

Building a portable GSM BTS using the Nuand bladeRF, Raspberry Pi and YateBTS (The Definitive and Step by Step Guide)

https://blog.strcpy.info/2016/04/21/building-a-portable-gsm-bts-using-bladerf-raspberry-and-yatebts-the-definitive-guide/ Building a portable GSM BTS using the Nuand bladeRF, Raspberry Pi and YateBTS (The Definitive and Step by Step Guide) I was always amazed when I read articles published by some hackers related to GSM technology. H owever , playing with GSM technologies was not cheap until the arrival of Software Defined Radios (SDRs), besides not being something easy to be implemented. A fter reading various articles related to GSM BTS, I noticed that there were a lot of inconsistent and or incomplete information related to the topic. From this, I decided to write this article, detailing and describing step by step the building process of a portable and operational GSM BTS. Before starting with the “hands on”, I would like to thank all the pioneering Hackers and Researchers who started the studies related to previously closed GSM technology. In particul