C compiler?

Started by
9 comments, last by Cromulent 14 years, 11 months ago
what is the best c compiler to get, not c++, just c? my class next year is an intro to programming and it will be using c and I would like to get a reliable compiler (:
Advertisement
For what platform?
Windows
Just use Microsoft Visual C++, if the file extension is ".c" then it'll be compiled according to the C standard. Or you can go into properties and tell it that you want it compiled as C and not C++.

Andy

"Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile"

"Life is short, [the] craft long, opportunity fleeting, experiment treacherous, judgement difficult."

cool, thats convenient! thanks!
Pelles C
"I thought what I'd do was, I'd pretend I was one of those deaf-mutes." - the Laughing Man
Quote:Original post by NineYearCycle
Just use Microsoft Visual C++, if the file extension is ".c" then it'll be compiled according to the C standard.


And that would be the C89 standard, unless MS have changed their policy since the last time I looked at VC++. If the course is using C99, GCC (in the flavor of MingW) would be a better choice. Though, the official MingW distro is a bit behind the latest GCC version. An unofficial MingW distro exists, which is more up to date (and quite stable).

Quote:Original post by Aldacron
Quote:Original post by NineYearCycle
Just use Microsoft Visual C++, if the file extension is ".c" then it'll be compiled according to the C standard.


And that would be the C89 standard, unless MS have changed their policy since the last time I looked at VC++. If the course is using C99, GCC (in the flavor of MingW) would be a better choice. Though, the official MingW distro is a bit behind the latest GCC version. An unofficial MingW distro exists, which is more up to date (and quite stable).


On what do you base this knowledge? Because the current Visual Studio version does follow the C99 standard. I'm not sure about Visual Studio 2005, but the 2008 version is just up to par with the standards. It even supports parts of c0x for the C++ compiler.

Toolmaker

Visual Studio support for C99 is very minimal. It is more like VS doesn't support C99 than it does. Try declaring variables not at start of the scope. Or try using variadic macros. Or try including inttypes.h header. Or using variable length arrays. All of this is required in C99.

Speaking about C++0x - VS2008 definitely doesn't support it. Best it has is some tr1 support (just some headers, not compiler change).
Of the freely available compilers, GCC supports the most advanced language and runtime features (including most of (all?) C99 and some C++0x), and its toolchain makes it the best choice for cross-platform and embedded/system code.

On the other hand, Visual C++ is the best toolchain for the Windows platform, and I heard it's better at performance optimization than GCC.

This topic is closed to new replies.

Advertisement