HI

Genau. Der Preprocessor od. Präprozessor setzt nur die Werte für "send" ein.
D.H. Überall wo im Programmcode "send" steht, schreibt er den Wert hin.

Und DANN wird erst in HEX umgewandelt. Also compiliert.

Jetzt kann man ihn aber auch anweisen (z.B. mit #ifdef), zu prüfen, ob ein Label definiert wurde. Genau das machst du da.

Und wenn Bedingung 1 erfüllt ist, passiert nur, was zwischen #ifdef steht.
Alles andere wird einfach abgeschnitten, und kommt einfach garnicht in dein Endsystem, kann also auch nicht On the Run geändert werden.

Ganz liebe Grüße,
Tobi