The six deadly coding sins concerning volatile Modifier

1. No volatile when it’s needed

Let’s look at a specific example.  Suppose we’re developing software for an AVR 8-bit embedded processor.  Since multiplies are going to happen in software, we’re probably interested in seeing how slow they are, Continue reading

Advertisements

Take care of C pitfalls, they may be harmful (part1)

Have you experienced staying up checking your code for hours or maybe for days for something wrong, but you can’t figure out where the problem is.

crazy-images-6.jpg

Calm down, most of us have been through this many times. And in this article and the upcoming articles we will introduce the most known and harmful C language pitfalls that we can take care of them and avoid their effect.

Continue reading

Pointers to Functions and Callbacks in C

Function Pointers provide some extremely interesting, efficient and elegant programming techniques. You can use them to replace switch/if-statements, to implement callbacks. probably due to their complicated syntax – beginners find it hard to understand them. In fact, they are less error causing  than normal pointers cause you will never Continue reading

Memory Padding and The Art of Memory Packing Part1

Who should read this

This article is about a technique for reducing the memory footprint of C programs -manually repacking C structure declarations for reduced size. To read it, you will require basic knowledge of the C programming language.
You need to know this technique if you intend to write code for memory-constrained embedded systems, or operating-system kernels Continue reading