Compilers

MSVC is too heavy to download for my PC. And online compilers are limiting my learning. So I was looking for new compilers. What do you guys prefer? I have heard if the following:
1. Dev C++. Lightweight.
2. Eclipse CDT. Heavy but feature rich.
3. G++. Idk much bout this one.
4. Code::Blocks.
Personally I would recommend Code::Blocks, It's really decent.
MSVC is too heavy to download for my PC.

I don't know what that means.

Only one of the things you listed is a compiler. The one you don't know much about.
@Tarik
I would look into it for sure!

@cire
Others are IDEs. They have built in compilers. As for G++, I knw that it is a commandline compiler.
Code::blocks is good, although the gdb debugger integration is less than fantastic. Visual studio is quite good, you may want to reconsider it.
As for G++, I knw that it is a commandline compiler.


But the IDE's can use it in a GUI fashion. g++ is a good compiler, don't write it off just yet.

In terms of compilers, I would recommend clang from llvm, it has really nice easy to understand error messages, and can be used with lots of IDE's. It seems to be the best in implementing new standards, often before the std is out officially.

I would stay away from any MS IDE, unless you want to do other things like .NET or C# say. My reason for this is that they have been terrible at keeping up with new standards in C++, IIRC it took them about 3 years to catch up to C++11. It is up to date now, but what happens when c++17 arrives?

Edit: Just discovered that clang can be used with VS
Last edited on
> It is up to date now

The Microsoft compiler is not yet completely up to date with C++14.
But with the toolset 'Clang with Microsoft CodeGen', Visual Studio is.
Also, your code can take advantage of language features that are not currently available in the Visual C++ compiler, including C99 complex types and C++14 extended constexpr support. And because the Clang-based compiler generates the same debug information format as the Visual C++ compiler, you’ll still be able to debug your code with the same great Visual Studio debugger experience.
https://blogs.msdn.microsoft.com/vcblog/2015/12/04/clang-with-microsoft-codegen-in-vs-2015-update-1/


> but what happens when c++17 arrives?

Microsoft is now way ahead of GNU as far as C++17 is concerned.
In VS 2015 Update 2, we’ve implemented every C++ Standard Library feature that’s been voted into C++11, C++14, and the C++17-so-far Working Paper N4567.
- STL in https://blogs.msdn.microsoft.com/vcblog/2016/01/22/vs-2015-update-2s-stl-is-c17-so-far-feature-complete/

N4567 (November, 2015): http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4567.pdf

Last edited on
JLBorges wrote:
But with the toolset 'Clang with Microsoft CodeGen', Visual Studio is.


It was a previous post of yours that caused me to strike-out my comment there, before I saw your reply :+) But you may not have seen that.

Interesting, MS seem to have have solved a lot of problems by using clang. I wonder if that also gets around their list of bugs in the C++11 and C++14 features? They mentioned compiling the Windows specific stuff with the regular Windows compiler.

Btw I use Linux exclusively, so don't feel that you need to write lots of information for my sake.

Regards :+)
> They mentioned compiling the Windows specific stuff with the regular Windows compiler.

Most libraries (other than the standard C++ library) that ship with Visual Studio (like the MFC library) use non-standard Microsoft extensions. clang++ would choke on most of those.


> Interesting, MS seem to have have solved a lot of problems by using clang.

AFAIK, the Microsoft compiler team is still working hard to attain full conformance; their intent is to have a fully conforming Microsoft C++17 compiler by the time C++17 is released.

Visual Studio 2015 already used clang for the cross-platform programs; what is new is that they have now invested in setting up a 'Clang/C2 feature crew'.
Topic archived. No new replies allowed.