Der Präprozessor rechnet nicht. Er bearbeitet Anweisungen zum Einfügen von Quelltext (#include), zum Ersetzen von Makros (#define), und bedingter Übersetzung (#if).
Das Makro CELSIUS_ZU_FAHRENHEIT beschreibt die Umrechnung einer Temperatur (angegeben als Parameter t) aus der Celsius- in die Fahrenheit-Skala. Auch ein Makro mit Parametern wird im Quelltext ersetzt:Code:#define CELSIUS_ZU_FAHRENHEIT( t ) ( ( t ) * 1.8 + 32 )
wird durch den C-Präprozessor ersetzt zu:Code:int fahrenheit, celsius = 10; fahrenheit = CELSIUS_ZU_FAHRENHEIT( celsius + 5 );
QuelleCode:int fahrenheit, celsius = 10; fahrenheit = ( ( celsius + 5 ) * 1.8 + 32 );
Danach darf der Compiler gemäß der spezifizierten Rechenregeln weitermachen.







Zitieren


Lesezeichen