Kapitel 9. Der #ifdef-Hölle entkommen
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
C ist weit verbreitet, vor allem bei Systemen, die eine leistungsstarke oder hardwarenahe Programmierung erfordern. Bei der hardwarenahen Programmierung ist es notwendig, mit Hardwarevarianten umzugehen. Abgesehen von Hardwarevarianten unterstützen einige Systeme mehrere Betriebssysteme oder müssen mit mehreren Produktvarianten im Code umgehen. Ein gängiger Ansatz, um diese Probleme zu lösen, ist die Verwendung von #ifdef
Anweisungen des C-Präprozessors, um Varianten im Code zu unterscheiden. Der C-Präprozessor ist sehr mächtig, aber mit dieser Macht kommt auch die Verantwortung, ihn gut strukturiert einzusetzen.
Hier zeigt sich jedoch die Schwäche des C-Präprozessors mit seinen #ifdef
Anweisungen. Der C-Präprozessor unterstützt keine Methoden, um Regeln für seine Verwendung durchzusetzen. Das ist schade, denn er kann sehr leicht missbraucht werden. Es ist sehr einfach, eine weitere Hardwarevariante oder eine andere optionale Funktion in den Code einzufügen, indem man eine weitere #ifdef
hinzufügt. Außerdem können die #ifdef
Anweisungen leicht missbraucht werden, um schnelle Fehlerbehebungen hinzuzufügen, die nur eine einzige Variante betreffen. Das macht den Code für verschiedene Varianten vielfältiger und führt dazu, dass der Code zunehmend für jede der Variantenseparat behoben werden muss.
Die Verwendung ...
Get Fließend C now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.