Ich habe eine kleine Frage über die Präprozessor-Konstanten in C. Ich verstehe, was das Ziel dieser Art von "Variable" ist und wie es funktioniert. Ich habe jedoch eine kleine Frage zu ihrer Bewertung. Lassen Sie uns ein kleines Beispiel betrachten:Präprozessor-Konstante Auswertung
#define MY_VARIABLE 5
int main() {
int test1 = MY_VARIABLE*5;
int test2 = 5;
int test3 = MY_VARIABLE*test2;
}
Während der Präprozessor Schritt wird MY_VARIABLE
von 5 im Code ersetzt werden. Meine Frage ist: wird test1
während der Kompilierung oder während der Ausführung berechnet? Stimmt das, dass test3
während der Ausführung berechnet wird? Diese Frage mag ein bisschen seltsam und nutzlos erscheinen, aber ich studiere ein Programm, bei dem solche Dinge oft gemacht werden, und ich würde gerne wissen, ob diese Art von Operationen die Ausführung verlangsamen kann.
Test1) Initialwert ist keine Bewertung zum Zeitpunkt der Ausführung. test3) initial value wird bei der Ausgabe des Codes keine Auswertung zum Zeitpunkt der Ausführung durch Rückschluss erfolgen. – BLUEPIXY
Lass uns sagen, Berechnung dann :) – user1382272
Eigentlich ist Ihre Frage überhaupt nicht über _precprocessor Konstante Evaluierung_, –