1,822 karma · joined November 16, 2013
This is actually required rather than an optimisation for any C compiler, from early on, as C semantically allows constant expressions rather than just constants to be used for statically allocated sizes, etc. While the 'optimisation' is not guaranteed you'll see even on -O0 the constant was evaluated at compile-time, as it's harder to not fold constant expressions sometimes than it is to just always fold them for the already required constant expression features.
You can just say initially e.g. when I learned C++ that "#include <iostream>" can be "mostly ignored for now, but just know iostream stands for Input / Output stream, and this line is necessary to e.g. output with std::cout"; and there are no scars left from this.
They're not trying to give you facts that solve things, they're just giving you facts, as they see it. You can do with that info what you will.
Can't wait for scripts using this variable for something unrelated to break when they call my scripts.
This should be a parameter or argv[0]-based.
I drive a shallow car with old lights, and once I was blocked on a street by a much taller car sitting in front of me with very bright LED lights, and I couldn't see a thing because of the glare. I was unable to manoeuvre out the way because of this. They sat there for a minute or so stubbornly refusing to move for me before finally moving out the way.
Technically if there's no license found then it should be considered automatically copyrighted, with no permissions to copy. So leaving copyright license out actually makes it less open source.
https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html
And this is a silly point because I want to be able to put 2-3 files side-by-side, on that big monitor. Who are all these people asking for long code that means I don't get more than one file on screen at a time?