Why GCC Replaces linux with 1: Understanding Predefined Macros in C | CodeTrail