4 ms·
This is very old, so it isn't even aware of C99 which leads to lots of bogus suggestions and tips. Unless you know that you're going to be targeting truly anci
by unwind 12y ago
This is very old, so it isn't even aware of C99 which leads to lots of bogus suggestions and tips.
Unless you know that you're going to be targeting truly ancient architectures/platforms, C99 really is the absolute minimum thing to be using these days when developing in C. It's 15 years old, it's not "new" or "non-standard" or "non-portable".
Edit: Of course I'm aware that Visual Studio doesn't support C99, so I guess that sorts under "truly ancient architectures/platforms", then. For C development, Windows' flagship development environment is ancient. I know it's a great IDE, but it's not a great C compiler since it doesn't support the language any more.
- iveqy 12y agoPeople are still using Visual Studio as far as I know and Visual Studio isn't supporting C99, which makes C99 non-portable as long as Visual Studio is the default compiler for Windows and Windows beeing a big player.
- Nursie 12y agoIs windows a big player for C development? If you want to code for windows there are better options. If you want to write C there are better options than VS.
- Hobotron1 12y agoI like PellesC for playing around on my own projects, but have wondered if there's anyone using it for serious development. http://en.wikipedia.org/wiki/Pelles_C http://en.wikipedia.org/wiki/Pelles_C http://www.smorgasbordet.com/pellesc/ http://www.smorgasbordet.com/pellesc/
- bitwize 12y agoSorry, I don't know what planet you're living on but here in the real world of professional software development much of the world's software has to compile in Visual Studio -- which did not support C99 for years and still only partially supports it.
- reitanqild 12y agoSame as Nursie, I guess coding new software in C on Windows is an antipattern.
- bitwize 12y agoThe official narive-code application language for Windows is C++. Microsoft recommends you use that.
- adrianN 12y agoEverybody who develops SIL 4 code has a really tough time using any modern compiler, because the compiler has to be approved for development of security critical code. This usually means that the shippable version of your code has to compile on some proprietary compiler that is at least twenty years old and can't be improved without losing its certification.
- pjmlp 12y agoMicrosoft's official position is that any greenfield project should be in C++ and for those developers that really want a C compiler there are other options. Specially in a world where most APIS are either .NET or transitioning to COM/Windows Runtime. At last year's "Connect(); Microsoft Visual Studio vNext & Azure", they confirmed the C++ focus for native code, besides the upcoming .NET Native. https://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014/029 https://channel9.msdn.com/Events/Visual-Studio/Connect-event... The C99 support that has been added was what is required by C++ standard and some specific customers. Even the new C runtime is actually implemented in C++ with the functions exposed as extern "C". http://blogs.msdn.com/b/vcblog/archive/2014/06/10/the-great-crt-refactoring.aspx http://blogs.msdn.com/b/vcblog/archive/2014/06/10/the-great-...
- antaviana 12y agoI believe the upcoming .NET Native applies only to Windows Store apps, not to Windows Desktop apps, which I find it is a pity.
- pjmlp 12y agoYou always have NGEN, besides this is v1.0. They are pretty open that it might change in the future. Personally I think it is bound to the adoption of the Windows Store and the Universal App model.
- faragon 12y agoSince MS Visual Studio 2013, VS supports C99. It looks like MS wanted to "deprecate" the C language. They seem to acknowledge their mistake in an implicit way, in my opinion.
- WalterGR 12y agohttp://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99-library-support-in-visual-studio-2013.aspx http://blogs.msdn.com/b/vcblog/archive/2013/07/19/c99-librar... describes what they added in VS 2013 and what is still missing. http://blogs.msdn.com/b/vcblog/archive/2014/06/18/crt-features-fixes-and-breaking-changes-in-visual-studio-14-ctp1.aspx http://blogs.msdn.com/b/vcblog/archive/2014/06/18/crt-featur... from June of last year says in part: In the Visual Studio "14" CTP we have fully implemented the C99 Standard Library, with the exception of any library features that depend on compiler features not yet supported by the Visual C++ compiler (notably, <tgmath.h> is not implemented). There are undoubtedly some remaining conformance issues-- we know of a few, including that _Exit is missing and wcstok has the wrong signature, and we are working to fix these. "CTP" == "Community Tech Preview", i.e. a beta.
- faragon 12y agoWell, in VS 2013 there was C99 language support, i.e. my C99 code compiled properly (while not in previous VS editions). I had to add minor modifications because the C library (e.g. %zu for printing size_t arguments -not sure if already covered by VS 2014-), as the article pointed by you tells.