3 ms·
> "What if you cast a string pointer to a function and called it! Huh?" and I explain that is perfectly legal C I would argue that it's less than "perfectly" l
by microtherion 9y ago
> "What if you cast a string pointer to a function and called it! Huh?" and I explain that is perfectly legal C
I would argue that it's less than "perfectly" legal: The C standard lists it as a "common extension":
J.5.7 Function pointer casts
A pointer to an object or to void may be cast to a pointer to
a function, allowing data to be invoked as a function
And on a practical level, it seems to me that the increasing proliferation of NX enforcement is cramping the acceptance of this extension.
- insulanus 9y agoThat's a good point, but the long running (although shrinking) gap between what the standard recommends, vs. what you can do with real compilers is one of the reasons that coding in C can be so error-prone.