Through the magic of make, you can write code that changes if statements to while loops then changes it back after compilation passes or fails.
I only give good advice.
ELI5 plz
They used a macro to make ‘IF’ (which is distinctly not ‘if’) map to ‘while’. So it’s really a while(1) loop, which will repeat forever, or until the program is terminated, whichever comes first.
Someone’s just being silly.
Thx!
‘IF’ (which is distinctly not ‘if’)
Is this something needed “for the meme” or something with this macro or C/C++? Or why the case-sensitivity here? I only know languages like Java, Python, JS. Unfortunately the ancient tongue is not known to me.
It’s not really that important to the joke, since I’m pretty sure you can also replace keywords like ‘if’ with the preprocessor. It’s just that preprocessor macros are typically (style, not syntax) ALL_CAPS_WITH_UNDERSCORES.
It’s just another clue that that block isn’t actually an if-block, since C is case sensitive and ‘IF’ wouldn’t actually work.
found the following in our codebase the other day.
while(booleanFlag) return;
thhere wasn’t more in the loop body, that was it. the loop conditional does exist and it can hurt you.
Can it hurt you, though? My guess would be every sane compiler and interpreter optimizes this.
the codebase readability certainly suffers, and this isn’t the only case of shenanigans like this
int* ihadatonepointforgottenaboutpoundefinesyoubastard {};
10 print “All Work, No Play”
20 goto 10
30 end
#define if while // 🤪