Welcher Compiler ist für meine Anforderungen der beste?
-
Wer den GCC unter Windows (MingW) einsetzen möchte, der kann sich gerne mal die NetBeans IDE anschauen. Ansonsten ist halt Code::Blocks meiner Meinung nach die einzige vernünftige IDE-Alternative unter Windows.
Für mich persönlich aber:
Unter Windows sind eben die Microsoft-Compiler einfach unschlagbar.
1. Die sind jetzt auch kostenlos als Express-Versionen verfügbar (glaub Kommandozeilen-Compiler war schon immer kostenlos mit dem SDK?!?)
2. Die führen eine unschlagbar gut funktionierende IDE mit sich (jeder hat seine Glaubensrichtung was IDE betrifft, aber bisher ist bei mir nur NetBeans annähernd an MS Visual Studio rangekommen.).
Unter Linux gibt es unzählige IDE-Alternativen. Aber für nicht versierte Linux-Hacker kommen zu Beginn nun mal nur IDE/Editoren in Frage, die eben komfortabel zu bedienen sind ohne großes Zutun des Entwicklers (z. B. NetBeans, eclipse, Code::Blocks, KDevelop, ...).An den TE:
Ich spiele gerne mit unterschiedlichen IDE's rum und porte gerne mal ein bestehendes Projekt zu einer anderen IDE nur um zu schauen, wie es unter dieser Umgebung zu arbeiten ist. Als Compiler unter unterschiedlichen Plattformen war ich bisher mit dem GCC wunderbar bedient, wobei ich aber wie gesagt unter Windows den MS VC++ bevorzuge. Probier doch einfach selbst mal rum und sammle deine eigenen Erfahrungen
-
314159265358979 schrieb:
Zu verbuggt.
314159265358979 schrieb:
Wenns nicht so wäre, hätte pumuckl nicht andauernd Probleme damit.
Naja, ich mag das mal relativieren: MSVC ist ein ziemlich ausgereifter Compiler, die Features der IDE möchte ich nicht missen, weshalb ich auch privat erstmal nicht zum GCC wechsle. Die paar Macken (ich glaube es waren 2), über die ich bisher gestolpert bin, sind allesamt irgendwelche Grenzfälle bei den C++0x-Features. Da kann man sich beim GCC auch nicht immer drauf verlassen, der ist auch nicht perfekt.
Einziges Manko ist eben die noch recht geringe C++0x-Unterstützung. Bis auf einen Fall wo ich statt eines schnell geschriebenen variadic template einen Tag in die Einarbeitung in Boost.Preprocessor investieren musste, hats mich bisher aber nicht sonderlich gestört.
-
Welcher GCC ist denn empfehlenswerter?
http://www.mingw.org/ oder http://tdm-gcc.tdragon.net/?
-
dot schrieb:
Hier nochmal die Antwort auf deine Frage:
Windows -> MSVC
Linux und MAC -> gccAuf dem Mac kein gcc einsetzen, sondern clang&llvm. Wegen dem GPL v3 Wahnsinn liefert Apple keine aktuellen gcc Versionen mehr aus und bei Selbstgebauten hast du nur stress, insbesondere wenn du Objektiv-C und Objektiv-C++ für Gui verwenden willst.
Damit kannst du im Grunde genommen c++0x vergessen. Ich entwickle für Windows/Mac (MSVC/XCode) und ich setzte nur auto, Variadic templates, nullptr und TR1 in std:: ein.
Ich denke aber in 3-6 Jahren dürfte c++0x ausreichend implementiert sein, dass man es ohne große Schmerzen einsetzen kann.
-
shadow schrieb:
Wer den GCC unter Windows (MingW) einsetzen möchte, der kann sich gerne mal die NetBeans IDE anschauen. Ansonsten ist halt Code::Blocks meiner Meinung nach die einzige vernünftige IDE-Alternative unter Windows.
Schonmal von Eclipse für C++ gehört?
Insbesondere der integrierte Debugger ist eine Wucht, verglichen mit gdb.
-
Eclipse2 schrieb:
Insbesondere der integrierte Debugger ist eine Wucht, verglichen mit gdb.
Ehm? Der Visual-Studio-Compiler ist eine Wucht, insbesondere verglichen mit Microsofts C++-Compiler.

Was ich damit sagen möchte: Eclipse benutzt in aller Regel den GDB zum Debuggen von C++-Code, auch wenn man (mit mehr oder weniger Aufwand) sicherlich auch andere Debugger nutzen kann. Einen eigenen Debugger bringt Eclipse nicht mit.
-
mfq schrieb:
Eclipse2 schrieb:
Insbesondere der integrierte Debugger ist eine Wucht, verglichen mit gdb.
Ehm? Der Visual-Studio-Compiler ist eine Wucht, insbesondere verglichen mit Microsofts C++-Compiler.

Was ich damit sagen möchte: Eclipse benutzt in aller Regel den GDB zum Debuggen von C++-Code, auch wenn man (mit mehr oder weniger Aufwand) sicherlich auch andere Debugger nutzen kann. Einen eigenen Debugger bringt Eclipse nicht mit.
Ich sprach von der grafischen Integration des Debuggers und mit Vergleich bezog ich mich auf die Kommandozeile des gdb.
Es gibt einige IDEs, die eine Debugger Oberfläche integriert haben, aber von den ganzen Open Source IDEs hat Eclipse den besten.
Weder Anjuta, KDevelop und Co. sind da besonders gut und der gdb auf der Kommandozeile ist ne Zumutung, so viel wie man da eintippen muß, nur um Werte zu überwachen.
-
DarkBug schrieb:
Welcher GCC ist denn empfehlenswerter?
http://www.mingw.org/ oder http://tdm-gcc.tdragon.net/?Der zweite, da aktueller.
xmas2 schrieb:
Auf dem Mac kein gcc einsetzen, sondern clang&llvm. Wegen dem GPL v3 Wahnsinn liefert Apple keine aktuellen gcc Versionen mehr aus und bei Selbstgebauten hast du nur stress, insbesondere wenn du Objektiv-C und Objektiv-C++ für Gui verwenden willst.
Damit kannst du im Grunde genommen c++0x vergessen. Ich entwickle für Windows/Mac (MSVC/XCode) und ich setzte nur auto, Variadic templates, nullptr und TR1 in std:: ein.
Ich denke aber in 3-6 Jahren dürfte c++0x ausreichend implementiert sein, dass man es ohne große Schmerzen einsetzen kann.
Was für ein absoluter Schwachsinn. Ich habe auf meinem Mac einen MacPorts GCC 4.7 (Experimental!). MacPorts hat immer den aktuellsten GCC, einfach MacPorts installieren und in der Konsole "sudo port install gcc46" oder statt gcc46 eben gcc47 und fertig ist das Ding.
-
SeppJ schrieb:
dot schrieb:
Ich würd den nativen Compiler der jeweiligen Plattform verwenden. Unter Linux wär das eben gcc, unter Windows MSVC, ...
+1 Wenn du so viele verschiedene Plattformen erreichen willst (vor allem Windows und Linux sind sehr unterschiedlich, Linux und Mac hingegen recht ähnlich), verzichte einfach komplett auf alles was nicht Sprachstandard ist. Und sei auch sparsam mit neueren Standards wie C++11 und (traurigerweise) C99. Wenn du dich an den Standard hältst, dann ist der Compiler egal, abgesehen von gelegentlichen Standardbibliotheksmacken bei sehr exotischen Compilern.
+1
Windows = MSVC
OS-X = Xcode
Linux/*NIX = Default-Compiler der Distro----
Man kann natürlich auch überall GCC einsetzen. Wenn man bestimmte Sprachfeatures verwenden will mag das sogar Sinn machen. Es als einzig sinnvolle Möglichkeit darzustellen ist aber totaler Unfug.
-
Würde auch die Entwicklung komplett mit dem GCC machen und höchstens Release-Versionen unter Windows mit dem MSVC kompilieren.