|
I'm interested to know what the range and popularity of different C++ compilers and linked IDEs is amongst my fellow CPians. My guess is that there are really good stats for this buried away somewhere in Bob's sock draw from numerous surveys over the past few years. It would be nice if someone could dig them out and collate them
I'm especially interested to see what the range of Visual Studio versions used looks like given the large number of variants now in circulation and whether there's any uptake of Clang given that it seems to struggle to produce Windows binaries.
An article on portability between compilers will follow eventually if I can ever get it knocked into shape.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
|
Thanks, that is indeed a useful list. However if your cross compiler supporting project already had Visual Studio, VC++ and Eclipse/MinGW/GCC support where would you go next?
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
What are you trying to do exactly, see what other platforms you can compile to or create a C++ project that is compatible with most IDEs?
|
|
|
|
|
To be specific I'm writing a set of libraries to enable common code to be built with many different compilers in many different IDEs as part of a larger project. The technical side is challenging but if I need help with that I'll post to the appropriate forum. What would be of real value to me in prioritizing which compilers and IDEs to support beyond the obvious is the meta knowledge of the Code Project community as what they would find valuable.
Is there a silent but substantial crowd out there using the Intel compiler backend to Visual Studio or is it a complete dead loss with no user base at all?
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
I'm using VC++ a la VS 2008, when I use it these days (which is never). I've used a bit of gcc for Linux, but which flavor depended on which version came native with whatever version of Linux I was on at the time.
However, about this portability framework. I've always found it wasn't the compiler flavors that were the problem, but the libraries. For compilers, pick the most common C++ compiler on each OS, and write to the oldest C++ standard they will all compile.
We can program with only 1's, but if all you've got are zeros, you've got nothing.
|
|
|
|
|
I agree, compilers is just the first stage, hence why they need a -nodefaultlibs equivalent to qualify for inclusion. Once the compiler is tamed, the correct hardware architecture is targetted and the OS system calls have been drilled into submission, then come the libraries which is where the fun really starts. Imagine a 'C' library which is complete to Posix 2008 but is really just a shim over a C++ implementation which is itself portable and fully instrumented for aspect programming.
Well no one ever said I wasn't crazy
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
There are many compilers out there, but in practice you typically need to worry about a single compiler vendor per platform: for Windows - MSVC++, Linux - GNU C++, Solaris - Oracle Sun CC, etc.
|
|
|
|
|
For what it's worth, I'm using (day to day):
VC++6.
VC++2003
VC++2010
Hiware V5 (1999!) Cross compilers for embedded work.
GCC (version 3.45 I think) for embedded work.
|
|
|
|
|
Thanks Mike that's exactly the sort of feedback I was hoping for. I don't think I'll be taking on Hiware V5 but I might just look it up for the sake of interest.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
Now that you've reminded me, I had to download Code::Blocks to see if I can compile (without running) some AIX C++ code on a Windows machine. So far, not so good.
|
|
|
|
|
That sounds like exactly the sort of thing CompilerQOR would be useful for. If it's worth something to you I could take a look.
Not that you heard this from me but Microsoft 'allegedly' rippped off chunks of the AIX C library to build their own so the two are not as far apart as they might be.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
My use of C++ was limited to a firm that used Borland Builder for windows development as the software dept (one guy) didn't trust Microsoft and yet he used Outlook Express. Having used the Borland Turbo compilers (DOS) I found it a jolt (my previous job I was using VB6 for some scary stuff!). I have used in anger Borland C++ Builder (4,5,6,2006) VC6 & VC.NET but felt happier with C#. So I would be very interested to read your article, Windows binaries (?) even most of the free ware (Bloodshed etc) stear away from them.
Glenn
|
|
|
|
|
Thanks for the encouragement. It's nice to come accross someone else who started out with Borland Turbo compilers. I still have a copy of v0.99 for DOS on a VM somewhere, template classes in 1993, that was cool stuff
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
The thing I think is odd being an Embedded guy really is the ammount of problems there with all the different commpilers. C++ like C was supposed to be a standard it works on my PC it should work on yours. There are now so many subsets of C / C++ it got silly. VC6 was plain hard to use, Borland was a doddle until you wanted something different from a simple form app. I ran from that company. I started with Turbo Pascal 6 I think back in the day when I had an Amiga (and learnt C, with something called North C). Ahh memory's!
|
|
|
|
|
gcc 4.2/4.7, clang 3.x and vs 2010. Gcc for production builds, gcc or clang for dev linux builds (clang is faster and has better error reporting in many cases) and VS for debugging in windows. I use VS as an IDE as well but many people here use vi
|
|
|
|
|
Thanks, it sounds like you're doing genuinely cross platform stuff which is where I'm headed. I guess clang on Linux makes more sense than on Windows, I'll have to get back to that. I was part way through Netbeans integration under Open Suse a while back but never quite got it working. Time to go back and try again with an updated clang a simplified sample project I think.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
I used to do C. I don't use C++ beyond dabbling and not with an IDE. I occasionally compile C/C++ at the command line under Windows with Borland's or Microsoft's compilers and maybe MINGW's (I use their pre-processor for some tasks with C#).
I no longer even have Turbo C/C++. And you might be interested in Quincy http://www.codecutter.net/tools/quincy/[^]
I could also compile with HP's C or C++ on OpenVMS if that might be of use to you.
|
|
|
|
|
I use Visual C++ 10/11 (Windows), GCC 4.6/4.7 (Linux) and Clang 3.2 (Linux and Mac OSX). My next C++ compiler to dabble is Intel (Linux). Anyone looking to write cross-platform C++ code, I'll say good luck to you!
|
|
|
|
|
We're using VS2008 for our product (Visual Lint, ResOrg and LintProject Pro) development, but we're now starting to look at moving to VS2012 - mainly because it's time we started moving to C++ 11. If we have issues with the VS2012 compiler or IDE the Intel C++ compiler is another option on the table.
Cross platform development is (unsurprisingly) Eclipse with GCC. I can't remember the version offhand - cross platform ports are Beth's department.
Anna
Tech Blog | Visual Lint
"Why would anyone prefer to wield a weapon that takes both hands at once, when they could use a lighter (and obviously superior) weapon that allows you to wield multiple ones at a time, and thus supports multi-paradigm carnage?"
|
|
|
|
|
As always, there's no simple answer:
Not using C/C++ at the moment on any project, but...
My largest project ever was built starting with Borland C++ release 4 on Windows, moved to GNU g++ on Linux (starting at Version 1, ending at version 3, it took so long!) - this was an airline and shipping reservation system.
My longest standing code, still in use today after well over 20 years, was in C, using MSC 5.00 (long before Visual Studio was a twinkle in BG's eye, and a mote in the eyes of the rest of us!)
The last C++ project I developed (about two years ago) was in Visual Studio 2008.
At the moment, everything I'm doing is either in Java or Visual Basic for Applications (!), but - should I have any C or C++ work to do then it would be in NetBeans with GNU C++ for preference, or Visual Studio 2008 if forced to use Windows specific tools...
Not much help really, sorry 8)
Mike
|
|
|
|
|
I'm using Embarcadero Rad Studio 2010 and XE3, XE3's support for ios and win8 development looks interesting, but since that will be my private projects in future, I can't comment on it yet. There IDE works the best for my Screen Reader (I'm blind), and it's probably also because I started out with Turbo Pascal in the late 80's, that I've moved on to turbo c++ when it emerged, since the environment was familiar. Stuck with Borland, changed to embarcadero since then.
Did some VB.net work also, but not a lot.
Where's the days?
|
|
|
|
|
Thank you, that's fascinating. I've only recently started using Rad Studio 2010 and XE3. I have to say that for a sighted person it's a confusing mess so I'm doubly impressed that anyone can use it blind. Overall Borland compilers seem to be the ones most people who've replied are using after Visual Studio and GCC.
If you know or discover how to set the details of the C++ linker command line then please do email me. I asked about this in the programming forums and nobody had a clue. a solution would enable me to put XE3 back on my list of environments to support.
email:mfaithfull@btopenworld.com
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
My selected few are (have known / are using):
Rank 7/10: Visual Studio 2010 - using on job
Rank 8/10: MetroWerk - have used on job
Rank 7/10: MinGW gcc - using privately
Rank 9/10: Borland C++ - have used privately (long time ago)
Hope this is what you want
Regards,
Normann
|
|
|
|
|
I'd like to really emphasise CLang, as it seems to currently have the best support for C++ 11 features!
|
|
|
|