Why are global variables bad, in a single threaded, non-os, embedded application

It wouldn’t.

The two fundamental issues with global variables is simply cluttering the namespace, and the fact that “no one” has “control” over them (thus the potential collisions and conflict with multiple threads).

The “globals are bad”, like pretty much every other computer programming idiom is a guideline, not a hard and fast rule. When these kinds of “rules” are made, its best rather than simply adopting the rule by rote to understand the circumstances and motivations behind the creation of the rule. Don’t just take them blindly.

In your case, you seem to understand the nature of your system and the arguments around the rule and decided that it doesn’t apply in this case. You’re right, it doesn’t.

So, don’t worry about it.

Leave a Comment