Frage

Was sind die Vorteile / Nachteile zwischen MS VS C ++ 6.0 und MSVS C ++ 2008?

Der Hauptgrund für die Frage, eine solche Frage ist, dass es immer noch viele anständige Programmierer sind, die anstelle der neuesten Version mit der älteren Version bevorzugen.

Gibt es einen Grund die vielleicht die ältere über die neue bevorzugen?

War es hilfreich?

Lösung

Nun, für eine Sache sein kann, weil die mit MSVS gebaut Executables 6 benötigen nur msvcrt.dll (C Runtime), die mit dem Windows jetzt ausgeliefert wird.

Die MSVS 2008 ausführbaren Dateien müssen msvcrt9 mit ihnen ausgeliefert (oder bereits installiert ist).

Plus, Sie viele OSS-Bibliotheken haben bereits für Windows 32 Bit mit dem 6.0-C-Laufzeit erstellt, während für die 2008er C-Laufzeit Sie die Quelle nehmen und sie selbst kompilieren.

(die meisten dieser Bibliotheken sind tatsächlich mit MinGW zusammengestellt, die auch verwendet die 6.0 C-Laufzeit - vielleicht ist das ein weiterer Grund).

Andere Tipps

Die Vorteile von Visual Studio 2008 über Visual C ++ 6.0:

  • Viel mehr standardkonform C ++ Compiler, mit einer besseren Vorlage Handhabung
  • Unterstützung für x64 / mobile / XBOX Ziele
  • Verbesserte STL-Implementierung
  • Unterstützung für C ++ 0x TR1 (intelligente Zeiger, reguläre Ausdrücke, usw.)
  • Sichere C-Laufzeitbibliothek
  • Verbesserte Code-Navigation
  • Verbesserte Debugger; Möglichkeit Remote-Debug-Sitzungen ausführen
  • Bessere Compiler-Optimierungen
  • Viele Fehlerbehebungen
  • Schnellere baut auf Multi-Core / Multi-CPU-Systeme
  • Verbesserte IDE-Benutzeroberfläche, mit vielen netten Features
  • Verbesserte Makrounterstützung in der IDE; DTE ermöglicht den Zugriff auf mehr IDE Methoden und Variablen
  • Aktualisiert MFC-Bibliothek (in VS2008 Service Pack 1)
  • Unterstützung für OpenMP (leicht Multithreading) (nur in VS2008 pro.)

Nachteile von Visual Studio bewegen 2008:

  • Die IDE ist sehr viel langsamer als VS6
  • Intellisense hat noch Performance-Probleme (es mit VisualAssistX ersetzen kann helfen)
  • Side-by-Side-Baugruppen machen app Bereitstellung viel problematischer
  • Die lokale (offline) MSDN Library ist extrem langsam
  • Wie bereits erwähnt hier , gibt es keinen Profiler in der Professional-Version

Im Geist der jüngsten Blog-Post rel="nofollow, ich einige der anderen Antworten gepostet in eine einzige Antwort (und aus dieser eine gemeindeeigenen Post, also werde ich rep nicht davon profitieren) vE kombiniert. Ich hoffe, dass es Ihnen nichts ausmacht. Vielen Dank an Laur, NeARAZ, 17 von 26, me.yahoo.com, und alle anderen, die beantwortet. - ChrisN

Ich möchte hinzufügen, dass es nicht der Fall, dass Anwendungen mit Visual C ++ entwickelt 2008 müssen mehr als DLLs entwickelt diejenigen erfordern mit Visual C ++ 6.0. Das ist nur die Standard-Projektkonfiguration.

Wenn Sie in Ihre Projekteigenschaften gehen, C / C ++, Code-Generierung, dann ändern Sie Ihre Runtime Library von Multi-Thread-DLL und Multithreaded-Debug DLL (Release und Debug-Konfigurationen) auf Multi-threaded und Multi-threaded Debug , Ihre Anwendung sollte dann weniger Abhängigkeiten aufweisen.

Aus der Spitze von meinem Kopf, die Vorteile des neuen Visual Studio sind:

  • strengere Einhaltung von Standards
  • Unterstützung für x64 / mobile / XBOX Ziele
  • bessere Compiler-Optimierungen
  • (Weg) besser Vorlage Handhabung
  • verbesserter Debugger; Möglichkeit laufen Remote-Debug-Sitzungen
  • verbesserte IDE
  • Makro-Unterstützung verbessert; DTE ermöglicht den Zugriff auf mehr IDE Methoden und Variablen

Nachteile:

  • scheint IDE langsamer
  • Intellisense hat noch Leistung Probleme (Ersatz durch VisualAssistX kann helfen)
  • Laufzeit nicht allgemein verfügbar
  • Integration der Quellcodeverwaltung nicht bis zu par (obwohl in aller Fairness VC6 fehlt diese Funktion vollständig)

Neben der Bereitstellung oben erwähnt, ist der Hauptvorteil von MSVC 6.0 Geschwindigkeit. Da es sich um eine 10 Jahre alte IDE ist es fühlt sich recht schnell auf einem modernen Computer. Die neueren Versionen von Visual Studio bieten erweiterte Funktionen, aber sie kommen zu einem Preis (Komplexität und langsamer Geschwindigkeit).

Aber die größte Rückzieh von MSVC 6.0 ist der nicht-konform C ++ - Compiler und Bibliothek. Wenn Sie beabsichtigen, ernst C ++ zu tun - Programmierung dies ist ein Show-Stopper. Wenn Sie nur MFC-Anwendungen bauen es ist wahrscheinlich nicht viel von einem Problem.

Visual C ++ 6.0 integriert mit Memory-Tracking-Tool, wie Entschlacken, HeapAgent, Bounds und MemCheck, gründlich und gut, da diejenigen, Memory-Tools Tracking wurden aktiv gepflegt und aggressiv verkauft nach Visual C ++ 6.0 herauskam.

Da jedoch C ++ hat eine Zeit lang aus der Mode gewesen, die Unternehmen, die Speicher-Tracking-Tools noch verkaufen sie verkaufen, aber nie aktualisieren oder sie mit neuen Visual C ++ Versionen integrieren, einschließlich Visual Studio 2008. So, Speicher-Tracking-Tool mit Visual Studio 2008 ist frustrierend, fehleranfällige und in einigen Fällen unmöglich.

Da VC6 die meisten der Fokus von Visual Studio hat sich auf C # und .NET gewesen, sowie andere Funktionen, so dass einige C ++ Oldtimern sehen VC6 wie die guten alten Zeiten. Die Dinge haben sich in Visual Studio für C ++ Entwickler seit jenen Tagen verbessert, aber bei weitem nicht so dramatisch wie für .NET-Benutzer.

Eine Möglichkeit, dass VS2008 ist deutlich besser als VC6 ist, dass es C ++ Projekte parallel aufbauen kann. Dies kann schnelle Folge in deutlich baut auch auf einem einzigen CPU-System, aber vor allem, wenn Sie mehrere Kerne haben.

Wissen Sie, dass MS VC6-Implementierung der STL ist nicht Thread-sicher? Insbesondere bläst die Referenzzählung Optimierung in basic_string sogar, wenn sie mit den Multi-Thread-Bibliotheken zusammengestellt. http://support.microsoft.com/kb/813810

Wenn Sie alle Service Packs für VS6 installieren haben Sie immer noch eine solide IDE / Compiler-Combo. Als Software-Entwickler, die Produkte in der freien Natur freigeben müssen (über Internet) Ich möchte nicht auf die o Runtimes und .NET-Framework jedes Mal VC ++ versenden (ich sie nicht direkt in meinem installer / ausführbare bündeln kann, sein von Microsoft verboten ). Sie wissen, mehrere Megabyte Runtimes Kilobyte Code auszuführen ist irgendwie dumm. VC ++ 6.0 nur benötigt eine ausführbare Datei und 2 .DLL- am besten.

Auch Debug-Runtimes nicht mit VC ++ .NET, nicht wirklich gut verteilt werden, wenn ich einen Klienten habe, die einige Debug meiner Produkte tun müssen:)

Es ist meiner Meinung nach die wichtigsten Gründe, warum ich VC noch 6.0 ++ verwenden, aber die IDE selbst ist hässlich (dh: keine Tabbing-Unterstützung). Ich umgehen in der Regel die IDE-Einschränkungen, die durch Codeblöcke statt mit (Codeblocks unterstützt CL.EXE / Link.exe für alle VC ++ Versionen)

Cobolfoo

Visual C ++ 2008 ist viel mehr standardkonform (Visual Studio 6 nicht den C ++ unterstützt Standardsatz im Jahr 1998).

VS2008 hat eine besseren Compiler (viel mehr Standards kompatibel, bessere Optimierungen, ...).

VS6 hat viel schneller IDE. VS2008 IDE hat viele nette Features, aber es ist ein niedriger langsamer als VS6.

Kurze Liste der Verbesserungen finden Sie 6,0 bis 2008 gehen sehen:

  • Viele Fehlerbehebungen
  • Bessere Übereinstimmung mit dem C ++ Standard
  • Bessere Compiler-Optimierung
  • Verbesserte Benutzeroberfläche (besser Intellisense, etc.)

Eine Sache, die Leute vergessen manchmal, dass VS 6.0 ist über 10 Jahre alt geworden! An diesem Punkt sehe ich nicht, wie jemand würde dabei bleiben will.

eine harte Sache, die wir hatten, war, dass „Wert“ wurde zu einem Schlüsselwort.

Visual C ++ 6 kann sehr Buggy manchmal sein im Vergleich zu 2008. Manches insbesondere:

  • Schlechte Vorlage Unterstützung / Merkwürdigkeiten (zum Beispiel sometemplate<othertemplate<t>> nicht funktionieren, aber sometemplate< othertemplate<t>> Arbeits)
  • Nicht standardkonforme
  • Resource Editor ist Müll ( „blaue Linien“ scheinen zufällig zu bewegen, unter anderem)
  • unterstützt nur die Bearbeitung bestimmte Arten von 8-Bit-Bitmaps (ich habe ImageMagick zu verwenden, um Bitmaps in paint.net gespeichert konvertierte in Bild Ressourcen in der Lage sein zu sehen)
  • Terrible Unterstützung für mit Nur-Lese-Dateien / schrulliger Sourcesafe-Integration arbeiten.

Manchmal in VS6 Entwicklung fühlt sich wie der Versuch, Webseite suchen im Internet Explorer 5.5 gut zu bekommen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top