5 ms·
Those aren't "Microsoft functions"; they're C's optional Annex K functions which Microsoft happens to mostly implement (though in true MS fashion, they did mana
by BudVVeezer 13y ago
Those aren't "Microsoft functions"; they're C's optional Annex K functions which Microsoft happens to mostly implement (though in true MS fashion, they did manage to get a few wrong before the standard was finalized).
- comex 13y agoThey were Microsoft functions long (6 years?) before they were standardized.
- BudVVeezer 13y agoMicrosoft led the standardization process for the Annex K functions.
- derleth 13y ago> They were Microsoft functions long (6 years?) before they were standardized. And most of what's in ANSI C (the first C standard, before ISO stepped in, from 1989) was in C compilers before ANSI C existed. I think void and void* were the only things ANSI C really added to the language. My point is, the C standards body likes to standardize common usage, and 'what a Microsoft compiler does' is pretty close to being common in some parts of the world.
- eliasmacpherson 13y agoThey also 'standardised' threads which were hardly common usage.
- derleth 13y ago> They also 'standardised' threads which were hardly common usage. Didn't the POSIX standard do that, as opposed to the ANSI C standard?
- ygra 13y agoWell, yes, for operating systems that implement POSIX. Which doesn't account for all of them, last I checked.
- eliasmacpherson 13y agoSorry no, I was referring to the C11 multi threading stuff. http://en.cppreference.com/w/c/thread http://en.cppreference.com/w/c/thread They are not exactly the same as POSIX threads which were standardised in 1995.
- eliasmacpherson 13y agoMicrosoft put in the deprecated warnings long before C11. Thanks for pointing out that they were made part of C11. It's a little amusing that MS have this optional part of C11 implemented years in advance and standardised on their work, but haven't got C99 support. It must suit them to have it that way. Can you tell me whether the C11 Bounds checking stuff from this optional Annex K had fully made it in to GCC 4.9? If not what's missing? On the status page here it implies the project has had issues:[0] [0]http://gcc.gnu.org/wiki/C11Status http://gcc.gnu.org/wiki/C11Status Yet, on the release notes it says "Substantially complete" but it's really as clear as mud whether it's all there[2]. [2]http://gcc.gnu.org/gcc-4.9/changes.html http://gcc.gnu.org/gcc-4.9/changes.html I suppose that on Linux and Windows the intel compiler relies on the GCC/MS implementation of memcpy_s.