C language

Loop Unrolling

This is the start of an interesting discussion on loop unrolling as a compiler optimization. I summed up our thinking on it:

Application code usually was very clear and almost always right
in their timing choice of straight line vs loop implementation. Rolling
up straight line code and unrolling loops more often than not
interfered with a conscience choice a developer made.

A volatile topic

Here's an interesting writeup about the C keyword volatile.

CERT C Secure Coding Standard - last call for reviewers

We're reprinting a call for the C community to review the current version of the CERT C Secure Coding Standard. Secure coding is the practice of avoiding security exploits through more rigorous control of the sources, methods, and products of compilation.

CERT's wiki has a lot of well-thought-out information in it.

Subject: CERT C Secure Coding Standard - last call for reviewers
Date: Thu, 20 Mar 2008 10:02:10 -0400
From: Robert Seacord rcs@sei.cmu.edu
Organization: Software Engineering Institute

I'm having trouble declaring structs as types. The compiler refuses typedefs of long structs


There is a legacy limit in the compiler: typedefs cannot be longer than 256 characters. In most cases, this limit is never reached.

What is "IEEE-754"?

A standard for representing floating point numbers within words of various sizes. It's an IEEE standard.

Applications of floating point math are rare in embedded systems. It's usually much easier to leave sampled values in their original integer or unsigned integer format as long as possible, even if you need to refactor your calculations.

Also, fixed point types are usually a good substitute.

Syndicate content