Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The Microsoft compiler supports C99 since version 2013.


Partially, mostly in the library area. It still has some troubles with actual C99 code:

http://bellecrazysnail.wordpress.com/2013/11/14/some-thought...

There's also some weird double personality issues going on with their compilers in MSVC2013, for example they support designated initializers in plain C but not in C++. So you get partial C99 inside pure C or C89 (MS flavored) under C++.

I forgot where I read the quote, but for a decade Microsoft saw the plain C compiler as tool exclusively meant for Windows development. While gcc and later clang adopted and embraced new C idioms, like the struct syntax I mention, they kept their plain C support frozen in time.

I also found weird behavior in MSVC when pushing the C preprocessor VERY hard (nested variadic macros. That would require an entire blog post for itself...)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: