Die Sache mit den verflixten #defines
Oft entstehen Probleme in Programmen aufgrund von ungenügender Kenntnis einer Programmiersprache.
Dieses Problem tritt vermehrt natürlich dann auf, wenn mehrere LEute an einem PRogramm arbeiten.
So ein Problem stellte sich unlängst bei uns in der Firma:
Für unsere Softwareprodukte haben wir ein eigenes Window-Management System entwickelt, welches die Terminal-Ausgabe über verschiedene Messages, die über ein eigenes RPC-System zum Client gesendet werden, auf eine GUI umsetzt, welche die entsprechenden Controls dann anzeigt.
Somit gibt es auch eine Funktion, mit welcher man sich für verschiedene Events registrieren kann, um den Netzwerktraffic-Overhead möglichst gering zu halten. Die jeweiligen Events werden dann zum Client geschickt.
Die Events sind logischerweise als Flags definiert, welche man setzen kann.
Irgendwer hat das Window-Management System dann um ein neues Event, und damit um ein neues Flag, nennen wir es FLAGx, erweitert. Folgende #defines wurden verwendet:
#define FLAG1 00000010
#define FLAG2 00000020
#define FLAG3 00000040
#define FLAG4 00000100
#define FLAGx 00000256
Und jetzt die Rätselfrage: Was hat der Programmierer, der FLAGx deklariert hat hier falsch verstanden?
Bitte als Comment posten 😉