Sign in to follow this  
BlueBan007

C compiler?

Recommended Posts

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).

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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).

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Quote:
Original post by Toolmaker
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


No it does not. It does not even have the stdbool.h header. Let alone support for complex types, dynamic arrays and the other nice features of C99.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this