Should I Use MSVC For My Release Build?

Started by
6 comments, last by Servant of the Lord 11 years ago

I'm in the process of writing a game in C, and I am wondering what compiler I am going to use a little ways in the future when I am building a release build for sale. My Linux version is compiled with GCC, but I have a choice to make with Windows. My current test-bed compiler is MinGW. I do not use Visual Studio, and my game does not leverage Direct3D at all. It uses OpenGL and OpenAL and DirectInput (DirectInput only on the Windows version, obviously). Here are my questions:

Almost all of my programming has been on Linux and BSD, so I'm new to the Windows crowd.


1.) Is it better performance-wise to use MSVC on Windows as opposed to MinGW?
 
2.) Is MSVC managed or native?
 
3.) I know that in C# you have that fancy build menu where you can add some properties (author, date, title, icon) etc. to your program. Does MSVC have that in a nice fancy build menu?
 
4.) Is the Express Edition compiler a step down from the others?
 
5.) As an IDE, not a compiler, do you recommend (for Windows) Visual Studio or Code::Blocks? I currently use Code::Blocks for both Windows and Linux development, as the project files can be used on Linux.

C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.

Advertisement

1) In my experience, MSVC produces better code than MinGW/GCC. The difference is not large.

2) Either-or. Don't have to use any managed stuff.

3) Not really.

4) Same compiler.

5) VC is the standard. Code::Blocks is useful if you need a different compiler chain than MS.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.

3) Add a version resource to your project. There you can set the wanted fields quite easily.

Fruny: Ftagn! Ia! Ia! std::time_put_byname! Mglui naflftagn std::codecvt eY'ha-nthlei!,char,mbstate_t>

1) It varies, in general MinGW tends to be quite a few versions behind the linux version of gcc and the express edition of MSVC doesn't give you all the advanced optimization options, the exact performance you get depend heavily on your own code and the target architecture so just try both compilers to see which one works best.
The pro versions of MSVC usually outperform MinGW though.

2) Microsofts compiler produces native code for C and C++. (Allthough it can do managed code for C++/CLI atleast aswell)

3) Dunno.

4) Yes, some advanced optimization features (Profile guided optimization for example are not available in the express edition (or atleast weren't in the older versions, Havn't done much Windows Development in the past few years so this may have changed)

5) I'd recommend QTCreator, but Visual Studio is a solid option as well if you develop on Windows (The inability of the express edition to use plugins can be a bit of a pain)
I've never been a huge fan of Code::Blocks but i'm sure it works.

At the end of the day the choice of IDE is all about personal preferences, download a few and try them out to see which ones you like best.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

5) I'd recommend QTCreator, but Visual Studio is a solid option as well if you develop on Windows (The inability of the express edition to use plugins can be a bit of a pain)
I've never been a huge fan of Code::Blocks but i'm sure it works.

You'd prefer QTCreator to VS/Code::Blocks, even though he doesn't use any of that QT stuff? I always thought the IDE was designed to work well with design-your-own-gui-in-the-other-tab and would be useless if you want to write something else.


5) I'd recommend QTCreator, but Visual Studio is a solid option as well if you develop on Windows (The inability of the express edition to use plugins can be a bit of a pain)
I've never been a huge fan of Code::Blocks but i'm sure it works.

You'd prefer QTCreator to VS/Code::Blocks, even though he doesn't use any of that QT stuff? I always thought the IDE was designed to work well with design-your-own-gui-in-the-other-tab and would be useless if you want to write something else.


it works just fine even without QT, and the Vim mode puts it roughly 50 miles above anything else(including VS) imo.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

it works just fine even without QT, and the Vim mode puts it roughly 50 miles above anything else(including VS) imo.


You can use Vim in (the non express versions of) visual studio, if you're into that kind of thing ;-)

You'd prefer QTCreator to VS/Code::Blocks, even though he doesn't use any of that QT stuff? I always thought the IDE was designed to work well with design-your-own-gui-in-the-other-tab and would be useless if you want to write something else.

I prefer QtCreator over Code::Blocks, even when not using the Qt API. (I haven't tried Visual Studio)
Yes, it has built-in support for Qt and has a drag-and-drop GUI wizard, but it's perfectly usable without Qt, and is an excellent C++ IDE (and is cross-platform).

It has built-in support for Mercurial, SVN, Git, Bazaar, CVS, and other source control systems, if you want it, and support for CMake (though it uses its own QMake system by default, which I found easy to learn and sufficient for my needs), its intellisense is excellent too. It is very stable and rarely crashes (which are usually because MinGW crashes). Its syntax highlighting support for C++11 is mostly good, and improving, but it has a few problems with pre-compiled headers and debugging (which are both really MinGW/GCC's fault).

This topic is closed to new replies.

Advertisement