Sign in to follow this  
psilocybe

compilers?

Recommended Posts

psilocybe    122
the thing here is that i just bought a new computer that runs windows vista, i hate it, i think, but the question is what is a good FREE compiler i can use with this system. i tried devc++ but i couldnt get any thing to link properly. any help would be very appreciated.

Share this post


Link to post
Share on other sites
jpetrie    13160
Dev-C++ is an IDE, not a compiler (it uses a GGC port for a compiler). It's also a piece of junk -- easily one of the worst choices for a development environment on a Windows platform. Visual C++ Express, however, is an excellent option.

Share this post


Link to post
Share on other sites
ZMaster    240
Quote:
Original post by Nytegard
Try the Visual Studio Express Editions. C++, C#, etc. All are free, and a good introductory if you don't need all the full features.


Second that. But make sure to also get the Service Pack 1 for Visual C++ Express Edition and the Vista Update for VCEESP1 (these are two separate downloads!).

Share this post


Link to post
Share on other sites
Replicon    306
Quote:
Original post by jpetrie
Dev-C++ is an IDE, not a compiler (it uses a GGC port for a compiler). It's also a piece of junk -- easily one of the worst choices for a development environment on a Windows platform.


I assume you mean GCC :-). What makes this a piece of junk, and one of the worst choices? I'm assuming you're talking about GCC and not the IDE itself...

Share this post


Link to post
Share on other sites
nobodynews    3126
Quote:
Original post by Replicon
Quote:
Original post by jpetrie
Dev-C++ is an IDE, not a compiler (it uses a GGC port for a compiler). It's also a piece of junk -- easily one of the worst choices for a development environment on a Windows platform.


I assume you mean GCC :-). What makes this a piece of junk, and one of the worst choices? I'm assuming you're talking about GCC and not the IDE itself...


I think he's talking about the IDE. The parenthesis indicate an aside that doesn't need to exist to comprehend the sentence. Therefore, the sentence can be read like "Dev-C++ is an IDE, not a compiler. It's also a piece of junk..." Coupling that with "one of the worst choices for a Development Environment" (bolds added) further indicates he was referring to an IDE.

Share this post


Link to post
Share on other sites
jpetrie    13160
Quote:

I assume you mean GCC :-)

Oops. Yes, I meant GCC.

Quote:

I'm assuming you're talking about GCC and not the IDE itself...

I'm not, I'm talking about the IDE. But since you asked...
a) MinGW is, in my experience, a crappy port of GCC. It lags a bit (being a port) and generated poor machine code during my tests (admittedly, long ago, but I don't think the MinGW version that ships with Dev-C++ is new, since Dev-C++ is pretty darn dead itself). It's also not compatible with the same object format that Microsoft's compiler is, which is why you have to idiotic Dev-C++ "devpacks" which hamper your ability to use modern APIs, such as DirectX, effectively.
b) I don't like GCC in general for subjective reasons. For example, I think its error reporting is asinine. But that's just me.

As for Dev-C++ itself...
Quote:

What makes this a piece of junk, and one of the worst choices?

a) It's old. It hasn't been updated in a long time. It shows no sign of being updated. It's missing a lot of modern features that make writing code nicer, and the ones it has are poorly implemented.
b) It has a poor, limiting user interface designed to be easy for small trivial projects, but its next to unusable for large ones.
c) Devpaks. The word is "pack," people; omitting letters is not cool. This is not AOL.
d) gdb is a clunky debugger to use, even natively, and...
e) Dev-C++'s interface to gdb is "passable" at best.
f) It's not particularly extensible.

Share this post


Link to post
Share on other sites
jesse007    158
Quote:
i tried devc++ but i couldnt get any thing to link properly. any help would be very appreciated.


I use MingGW with the Dev-C++ IDE. I've gotten the GameDev tutorials that I'm reading and the source code examples to compile just fine. Like you, I've also had link issues too but it's usually because the link parameters were not correctly specified or a library was not installed properly. For example, if I'm using Dev-C++ with the SDL libraries installed, I use -lmingw32 -lSDLmain -lSDL in either Project->Project Options->Parameters->Linker or type them on the command line when linking.

On a personal note, even though VC++ is now free, I still don't use it because I hear it isn't very ANSI C++ compliant, and when I'm learning I like the source code to compile right out of the box; VC++ is not open source either. IMO, that's the best thing about open source: if people think some software sucks, like MingGW or Dev-C++ for example, then they can go fix it since the source code is provided. Good luck fixing VC++...

Share this post


Link to post
Share on other sites
CTar    1134
Quote:
Original post by jesse007
I still don't use it because I hear it isn't very ANSI C++ compliant, and when I'm learning I like the source code to compile right out of the box;

Visual C++ is one of the most standard compliant compilers. Comeau definitely beats it and I think the newest GCC and Visual C++ is about equal when it comes to standard conformance. GCC does seem to have more stuff from the technical reports, C99 and C++0x though, but when it comes to the 2003 standard I don't believe it's ahead.

The version shipped with Dev-C++ is, as far as I recall, pretty old and probably less standard compliant than Visual C++.

Quote:
IMO, that's the best thing about open source: if people think some software sucks, like MingGW or Dev-C++ for example, then they can go fix it since the source code is provided. Good luck fixing VC++...

Have you ever seen someone actually do that? It's open-source, but documentation for the code is non-existant and it would take enormous amounts of times to fix anything. Have you ever changed a single line of Dev-C++? Have you ever compiled it yourself? If not then I don't see how you consider it an advantage.

Dev-C++ is pretty dead and no one from the enormous open source community have taken up the task of even supplying it with a new version of the compiler. The only project I know of which is based on Dev-C++ is wxDev-C++ which AFAIK doesn't contain any improvements except the wxWidgets support.

VC++ have something called plugins instead. A standard way of adding functionality that doesn't break on the next release (your modified Dev-C++ code wouldn't work when a new release came along). This is functionality that people are able to actually use; see VisualAssistX for a good example of what is possible (fixing IntelliSense, a major component of Visual C++). Of course Visual C++ Express is a limited edition and therefore it doesn't support plugins, so it doesn't have this advantage over Dev-C++.

Share this post


Link to post
Share on other sites
Mr Grinch    318
Quote:
Original post by jesse007
On a personal note, even though VC++ is now free, I still don't use it because I hear it isn't very ANSI C++ compliant, and when I'm learning I like the source code to compile right out of the box;


I am a fan of open-source and standards-compliance, too. I do most of my development in Linux. However, I thought I'd point out that the new VC++ 2005 Express is much more standards compliant than VC++6 was. I would encourage you to try VC++ 2005 for your Windows development. I used Dev-C++ for a while and appreciate the work those guys did. It made sense to use that before the Express editions of Visual Studio came out, but it just doesn't compare now. In the Windows world, Microsoft tools are always going to be better and used by more people. For example, if you release a precompiled lib for Windows, you more or less must release a version for VC++. It is just the standard.

If you care enough about the ideology of open-source, I would recommend you run Linux and write cross-platform code. At some though, you'll want to do a Windows build, and VC++ is free, the standard Windows dev environment, and very powerful. If you are going to use the non-free Windows OS anyway, why not use the best tool for the job?

Share this post


Link to post
Share on other sites
jesse007    158
Thanks for the info Mr Grinch. Incidentally, I tried VC++ a couple years back and didn't like it all that much. Personally, I find Dev-C++ easy to use for learning C++ and doing small projects but that may change later on.

Quote:
Original post by CTar
Have you ever changed a single line of Dev-C++? Have you ever compiled it yourself? If not then I don't see how you consider it an advantage.


So basically if I can't change or understand the code myself having the source is not an advantage? I can't understand the code for the Quake engine either but imagine if John Carmack never released the source code for Quake or Doom; the world would be a worse place to live in... Of course not everyone agrees with open source philosophy, so please don't take this personal.

Share this post


Link to post
Share on other sites
MaulingMonkey    1730
Quote:
Original post by jesse007
On a personal note, even though VC++ is now free, I still don't use it because I hear it isn't very ANSI C++ compliant, and when I'm learning I like the source code to compile right out of the box; VC++ is not open source either. IMO, that's the best thing about open source: if people think some software sucks, like MingGW or Dev-C++ for example, then they can go fix it since the source code is provided. Good luck fixing VC++...


Image Hosted by ImageShack.us You heard wrong. Or you heard about Visual Studio 6, which predates the ANSI standard completely. MSVC catches mistakes in my C++ code which cause it to be non-ANSI that GCC does not. The inverse also holds true, which is why I use both compilers -- but even so, I wouldn't touch Dev-C++. It's an outdated piece of crap, open source or not.

For open source to be an advantage, somebody needs to benifit from having access to the source. The lack of active development on Dev-C++ clearly indicates that nobody is.

[Edited by - MaulingMonkey on May 4, 2007 7:49:08 PM]

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