• @Duralf
    link
    138 months ago

    If (false) is good because it is compiled so it doesn’t get stale.

    • AlmightySnoo 🐢🇮🇱🇺🇦
      link
      6
      edit-2
      8 months ago

      A simple if (false) will get optimized out by any modern C or C++ compiler with optimizations on, but the problem is that the compiler will still parse and spend time on what’s inside the if-block and it has to be legal code, whereas with the #if 0 trick the whole thing gets yeeted away by the preprocessor before even the compiler gets to look at it regardless of whether that block contains errors or not, it’s literally just a string manipulation.

      • @Duralf
        link
        108 months ago

        I think you missed the whole point of my comment 😂. Regardless, the time spent compiling a small snippet of code is completely negligible. In the end, both #if 0 and if (false) have their complimentary uses.

        • AlmightySnoo 🐢🇮🇱🇺🇦
          link
          -18 months ago

          Yeah, but I still think if (false) is silly because it adds an artificial constraint which is to make sure the disabled parts always compile even when you’re not using them. The equivalent of that would be having to check that all the revisions of a single source file compile against your current codebase.

          • Fushuan [he/him]
            link
            fedilink
            English
            38 months ago

            If(false) works in interpreted languages, the other one doesn’t. It’s stupid either way, that’s what version control is for, but if we are doing the stupidness anyway, you can’t use preprocessor flags in many languages because shit doesn’t get compiled.

    • @AceBonobo
      link
      58 months ago

      “you’re not wrong, you’re just an asshole”

      • @Duralf
        link
        18 months ago

        Fair enough, I do love being contrarian

    • pelya
      link
      28 months ago

      Tell this to my -Wall -Werror