Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

UBC_Wiskatos

GCC vs. Visual C++ Pro 6 & .NET

This topic is 5574 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone, Does anyone have assembly outputs or comparisons or something between GCC and Visual C++ Professional 6 and .NET? I've been trying to settle an argument with a friend about which is a better compiler in terms of optimizations and code size. I say it's Visual C++, since I've always read and heard that it is faster than GCC. He also suggests that I use Linux to develop Windows programs, and that all real programmers use Linux and GCC, not Visual C++, which is ludicrous. What do you think? I need some backing on this from people that know more about programming than I. I don't think Linux is bad, but it is crazy and unjustified to claim such things. [edited by - UBC_Wiskatos on June 19, 2003 3:47:40 PM]

Share this post


Link to post
Share on other sites
Advertisement
Visual Studio is much better. Linux is not good for developing games on the Windows platform because of optimization. Linux does not have many of the libraries that Windows Developers use. For example, when programming for Windows, yuo have access to the Win32 API and DirectX. Linux has neither. For that reason alone, Visual Studio is better. Also, GCC is GNU liscensed. That means that just about all your code is GNu liscensed. Everyone can see your code, and for a brand new gaming engine, that is bad. Visual Studio also has more updates, and an IDE. GCC is simply a command line based compiler. it is nothing fancy. There are add-ons to it to allow for IDEs, such as Rhide, but none of these are near as good as the Windows interface. And the compilers are different. Visual Studio now uses Microsoft''s .NET compiler, while GCC uses Mingw. Mingw is meant to be cross platform, and from my experience using it, it doesn''t really excel at either platform. Microsoft''s compiler gets a huge advantage for the simple fact that it specializes in DirectX. As you can see, Visual Studio wins any fight for best code, but if you are going cross-platform, GCC is the winner. However, the only reason you would be using GCC is for Linux, so it is insane to try to port code from Linux to Windows. What qualifications do I have for this opinion? For the past year, I have been using Mingw in Bloodshed Dev-C++. Visual Studio is much better for Windows development.

Scott Simontis
Engineer in Training
Have a nice day!

Share this post


Link to post
Share on other sites
quote:
Original post by Village Specialton
Linux is not good for developing games on the Windows platform because of optimization. Linux does not have many of the libraries that Windows Developers use. For example, when programming for Windows, yuo have access to the Win32 API and DirectX. Linux has neither.

(Ignoring WINE) Not natively, no. However, you can still link against the libraries in a PE formatted binary (cross compiling). It works well.

quote:
Original post by Village Specialton
Also, GCC is GNU liscensed. That means that just about all your code is GNu liscensed.

That's an outright lie. Misinformation is worse than no information.

quote:
Original post by Village Specialton
Visual Studio also has more updates, and an IDE.

More updates? I see a new version of GCC every couple weeks.

quote:
Original post by Village Specialton
GCC is simply a command line based compiler. it is nothing fancy. There are add-ons to it to allow for IDEs, such as Rhide, but none of these are near as good as the Windows interface.

You forgot to mention Dev C++ which is a great IDE for people used to MSVC for GCC in Windows. There are other IDEs or parts of IDEs that rival or out class MSVC as well (Eclipse, Scintilla, et cetera; it depends on what you're doing, of course).

quote:
Original post by Village Specialton
And the compilers are different. Visual Studio now uses Microsoft's .NET compiler, while GCC uses Mingw.

Nope. MinGW is a port of the Windows headers and libraries (for linking) to GCC.

quote:
Original post by Village Specialton
Mingw is meant to be cross platform, and from my experience using it, it doesn't really excel at either platform.

MinGW is almost the exact same thing as any other compiler's headers and libraries, but I know that's not what you meant. GCC is very good at optimization on most of the platforms it supports. I have seen actual numbers to back this up, have you? For some information about and older version of GCC's optimizations look here (the site is down at the moment, I assume it'll be up again soon). I could probably find a more up-to-date comparison, but I'm lazy.

quote:
Original post by Village Specialton
Microsoft's compiler gets a huge advantage for the simple fact that it specializes in DirectX.

That doesn't make any sense.

quote:
Original post by Village Specialton
However, the only reason you would be using GCC is for Linux, so it is insane to try to port code from Linux to Windows.

That's irrelevant nonsense. Besides, it's easy to port code if you know what you're doing.



[edited by - Null and Void on June 19, 2003 6:27:35 PM]

Share this post


Link to post
Share on other sites
Way to tell ''em! I think that you should only answer a question if you know what you''re talking about. Not a combination of nonsens and lies.

"Engineer in training"

Well, keep training

Share this post


Link to post
Share on other sites
I believe VC++ just wins over GCC in terms of optimization however a full version of VC++ (Enterprise Architect or whatever they call it now) costs a lot of money while GCC is completely free and open source and done completely by volunteers so they''ve done pretty damn well.

Share this post


Link to post
Share on other sites
quote:
Original post by UBC_Wiskatos
He also suggests that I use Linux to develop Windows programs,


Why would you develop Windows applications on Linux? That doesn’t make much sense to me, can you develop Linux applications using VC++?

If your going to develop Windows programs using GCC, your better off using Mingw which is the Windows port of GCC. IDE issues aside, I would be interested in seeing some stats between the two compilers.

I wonder what compiler has been around longer than the other?

Share this post


Link to post
Share on other sites
I doubt you''ll notice any major difference between the two compilers. Linux is an excellent platform for developing software of any kind. Anyone who thinks you can''t do the same things under linux as you can under windows is wrong. I''m not saying linux is better than windows or vice versa. They''re just different. I personally prefer linux to windows. I like the linux shells and the simplicity of the system. I like that i can tweak the kernel to my needs. I understand why someone would use VC++ on windows and i see the advantages of that too. To say one is better than the other is usually a result of ignorance. I''ve never seen anyone who''s proficient at both make any type of claim of one''s superiority over the other.

One compiler that, logically, might be a little faster would be intel''s compiler. Since intel has very thorough knowledge of the pentium CPU, you''d think they might know some ways to get a little better performance out of it. That''s just speculation, however. I''ve never used the intel compiler in part because i don''t have an intel chip.

It is possible to develop under linux for windows. I know of a handful of companies which do that. As long as you use cross platform libraries, such as openGL (which is just as good as D3d) and SDL, it''s possible to compile a program written on linux under windows with very little alteration.

Share this post


Link to post
Share on other sites
I would say that if you''re developing for windows, then do it under windows - the more you''re close to the target platform, the more likely it is you''ll run into the same issues that users will.

As for Visual C++ vs GCC vs Intel, I would say that size/performace differences should be fairly minor - you probably should go for what makes you more productive - getting your product to market one month earlier is probably worth more to you that making it 5% faster

"I woke up sweating and clutching my pillow. Thankfully the powerful and reassuring visage of Optimus Prime staring back at me from my pillow case served to ease my frayed nerves. Like the giant robotic father I never had he always knows just what to say" - Gabe, Penny-Arcade

Alexandre Moura

Share this post


Link to post
Share on other sites
Null and Void:
1. Cross compiling could be slower. When you are trying to make a game as quickly as possible, under budget constraints, cross-platform might be a little too expensive.
2. If your using a GNU compiler to make an application to hand out, you need to give a copy of the liscense.
3. Maybe, but VS still owns!
4. This is about GCC not Dev-C++. i am using Dev-C++.
5. Do you have to prove me wrong?


Scott Simontis
Engineer in Training
Have a nice day!

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!