7 ms·
> Are there still systems where you can't get a C99 compiler? In windows it's pretty annoying to get a C99 compiler. The "standard" compiler to do Windows deve
by 4ad 11y ago
> Are there still systems where you can't get a C99 compiler?
In windows it's pretty annoying to get a C99 compiler. The "standard" compiler to do Windows development is Microsoft's, and it doesn't support C99.
Of course you can install MinGW (gcc); most open source software on Windows uses it, but it's very unusual for the average Windows developer to even have gcc, and completely unheard of in the commercial space.
I will also note that installing MinGW in Windows is a pretty painful experience as well, which doesn't help.
For most Windows developers, if it doesn't ship in Visual Studio, it doesn't exist.
- lobster_johnson 11y agoThat's insane. Though I suspect it's because C++ has so much more traction in the Windows world, and that seasoned C developers forced to work on the Windows platform will immediately reach for MinGW or Cygwin. Last I checked, a lot of Unix software has to be compiled with GCC, anyway.
- cygx 11y agoDon't forget about the Intel C++ Compiler and Clang, never mind more obscure alternatives like TinyCC, Pelles C and Comeau C/C++. There are options. Also note that Microsoft has finally started improving C99 support with Visual Studio 2013 and 2015.
- pjmlp 11y ago> Also note that Microsoft has finally started improving C99 support with Visual Studio 2013 and 2015. Only as far as C++ standard requires C compatibility. For Microsoft the future for native programming on Windows are C++ and .NET Native. For compatibility with open source world and ISV that still care about C, the answer is the integration of Clang frontend with Visual C++'s backend, that is coming with Visual Studio 2015 Update 1.
- to3m 11y agoVisual studio 2013 supports enough C99 that you can get by (VLAs are the main omission). Visual Studio 2015 is supposedly fully conforming.
- to3m 11y agoToo late to edit, but, looking through the archives, it looks as if I might be incorrect about VS2015: https://news.ycombinator.com/item?id=10278704 https://news.ycombinator.com/item?id=10278704 Nevertheless, I stand by my comments re VS2013+. If you're accustomed to working on projects that support varied platform/compiler/libc combinations, but you've still specifically found VS2010 (and earlier) particularly difficult to work with due to the insistence on C89, you'll probably find VS2013 (and later) substantially more to your taste, and by quite some margin. (That's certainly been my experience anyway. After some initial effort to work around library differences, my C99 code builds with gcc/clang/VS2013 - and does so, ongoing, with very little effort.)