Vor- und Nachteile von Open Watcom [geschlossen]

8

Seit einiger Zeit in StackOverflow wurde empfohlen, mehrere (in diesem Fall C / C ++) Compiler zu unterstützen, wenn dies machbar ist, da Sie gezwungen sind, mehr standardkonform zu codieren und Fehler zu finden.

Also suchte ich nach weiteren kostenlosen C / C ++ - Compilern, denen ich Unterstützung für mein Projekt hinzufügen konnte (es ist C / C ++ geschrieben (beide Sprachen kombiniert)). Ich fand Open Watcom als einen interessanten Kandidaten.

Also meine Frage ist: Was sind die Vor- und Nachteile von Open Watcom C / C ++ Compiler im Vergleich zu anderen (zum Beispiel gcc / g ++, Visual C ++ etc.)?

    
Nubok 23.12.2010, 16:32
quelle

6 Antworten

6

Es gibt wahrscheinlich keine besonderen Vorteile, denn wenn Sie versuchen, portablen Code zu verwenden, würden Sie im Allgemeinen versuchen, Ihren Code auf die von allen Compilern implementierte Standardgruppe zu beschränken. Ich würde kleinsten gemeinsamen Nenner sagen, aber das mag etwas abwertend erscheinen.

Die Vorteile eines Compilers gegenüber einem anderen liegen in der Regel entweder in den von ihm bereitgestellten Erweiterungen, in den darin enthaltenen Bibliotheken oder in der Leistung des generierten Codes. Wenn Portabilität Ihr Ziel ist, sind Sie wahrscheinlich an keinem interessiert. Nicht die Vorteile eines Compilers gegenüber einem anderen sollten Sie in diesem Fall interessieren, sondern die Einhaltung und Einhaltung der ISO-Standards.

In seiner früheren kommerziellen Inkarnation war Watcom einer der besten optimierenden Compiler überhaupt; Ich bezweifle jedoch, ob es seitdem mit der Prozessorentwicklung Schritt gehalten hat (oder sogar der Übergang für 16 Bit auf 32 Bit x86!).

Das eine Feature, das in einigen Fällen als ein Vorteil angesehen werden kann, ist, dass es DOS, OS / 2 und Windows unterstützt, aber das ist wahrscheinlich nur ein Vorteil, wenn die Wartung von Altsystemen Ihr Ziel ist. Bemühungen, es auf Linux und BSD und andere Prozessoren als x86 zu portieren, existieren, sind aber nicht vollständig, während GCC bereits da ist und seit Jahren existiert.

Ich würde vorschlagen, dass Sie, wenn Sie GCC und VC ++ unterstützen können, wahrscheinlich genügend Compiler-Unabhängigkeit haben (aber empfehlen, dass Sie mit hohen Warnstufen-Einstellungen kompilieren ( -Wall -Werror in GCC und \W4 \Wx in VC ++) ein triviales Problem im Vergleich zur Betriebssystemportabilität, und was Sie wirklich berücksichtigen müssen, ist die Unterstützung für plattformübergreifende Bibliotheken anstelle der Unterstützung durch den compilerunabhängigen Code.

Wenn Sie jedoch mit Compilern spielen, sollten Sie auch den Digital Mars -Compiler in Betracht ziehen. Wie Watcom, hat dies auch kommerziellen Compiler-Erbe, nachdem der Zortech / Symantec C / C ++ - Compiler in einem früheren Leben gewesen ist.

    
Clifford 23.12.2010, 17:18
quelle
5

Etwas, was watcom hat, wenn du ein 'haxxor' bist, ist die Tatsache, dass du aussergewöhnliche Aufrufkonventionen mit #pragma aux definieren kannst. Abgesehen davon sehe ich keinen Grund, einen solchen datierten Compiler zu verwenden, außer Sie hatten schreckliche Hardware-Beschränkungen. Imo, es gibt nur 3 zu kümmern, GCC, ICC und MSVC

    
Necrolis 23.12.2010 18:33
quelle
5

Einige Leute verwenden Ausdrücke, die damit zu tun haben, dass der Watcom (eigentlich OpenWatcom) -Compiler "veraltet" ist. Also was bedeutet es?

  • Es könnte bedeuten, dass es den neuesten C-Standard nicht implementiert. Wie viele "nicht datierte" Compiler tun?
  • Es könnte bedeuten, dass es keine Frameworks wie in erster Linie bietet eine Umgebung für C und ForTran und irgendwo danach kommt ein C ++ Implementierung, die ich nicht beurteilen kann.
  • Es könnte bedeuten, dass es keinen exzellenten Assembler-Code generieren kann Müll C-Code.
  • Es könnte bedeuten, dass es die x64-Entwicklung nicht unterstützt.
  • Es könnte bedeuten, dass der Debugger rudimentär ist und Assembly unterstützt Debugging.

Nun zu dem, was es tut - zusätzlich zur Unterstützung von 16-Bit-Real- und Protected-Mode-Code:

  • Es erzeugt ausgezeichneten 32-Bit-Modus für geschützten Modus im flachen Speicher Modell, das jeder für die Win32-Umgebung verwendet.
  • Seine Code-generierenden Fähigkeiten sind ausgezeichnet und es ist in Ordnung dort oben mit mehr "nicht datierten" Compilern.
  • Es ist einfach, Multithread-Code mit seinem Profiler abzustimmen.

Wie fühlen Sie einen Compiler? Ich für meinen Teil weiß nicht, wie ich das machen soll. Ist es wie die Fehlermeldungen geschrieben werden? Ist es in den Nachrichten im Konsolenprotokoll?

Das weltweit größte Netzwerkbetriebssystem - Novell Netware - hatte Watcom als Entwicklungsumgebung. Das sagt viel über Watcom aus. Und damit niemand es vergisst: Netware starb durch schlechtes Marketing-Management in Verbindung mit Redmonds Foulspiel. Es ist nicht aus Mangel an technologischer Exzellenz gestorben.

Ich denke, was ich versuche zu sagen ist, dass ihr Leute, die nicht wissen, wovon ihr spricht, vielleicht etwas weniger bereit ist, Antworten zu schreiben.

Ich weiß, ich weiß, dass es nur darum geht, diese begehrten Punkte und Abzeichen zu bekommen, und was hast du? Und wie Sie sie bekommen, ist irrelevant, oder?

    
Olof Forshell 22.05.2012 19:15
quelle
4

Der Open Watcom Compiler ist etwas veraltet und es fühlt sich an. Es basiert auf dem, was vor langer Zeit ein guter Compiler für MS-DOS-Spiele war. Gegenwärtig ist es nicht sehr standardkonform und seine Standardbibliothek ist in einem unreifen Zustand.

Ich würde eher moderne und beliebte Compiler wie Intel cc, g ++, VC ++ oder CLang bevorzugen. Bin mir nicht sicher Borland C, habe es lange nicht ausprobiert.

    
Öö Tiib 23.12.2010 17:12
quelle
4

Vorteile:

  • es ist kostenlos
  • es ist Open Source. Sie können es und seine Laufzeitbibliotheken beliebig ändern
  • es ist plattformübergreifend. Sie können es unter anderen Plattformen unter Windows und Linux ausführen. Mehr, Sie können Programme damit für verschiedene Plattformen erstellen, mit einer einzigen Plattform

Nachteile:

  • es ist ein bisschen veraltet, aber nicht so viel wie in der Vergangenheit
dmityugov 24.12.2010 13:33
quelle
1
Positiv (2)
  1. Der Code und die Projekte sind nicht aufgebläht wie die Projekte in Microsoft Visual Studio / C ++ (nicht Hunderte von vproj und anderen Dateien und Ordnern). Sie können einfach ein Makefile wie in GCC erzeugen (Was besser zu verstehen ist als die Makefiles von Visual Projects ...)

  2. Sogar die Installation dauert nicht viel Zeit (auf x64 Win 7), im Vergleich zu 2 ++ GBytes Visual Project ...
  3. Im Vergleich zu GCC scheint es besser zu sein, mit
    umzugehen
Negativ
  1. Clib fehlt: strn ... Funktionen (strndup, strncmpi usw.), getoptlong
  2. Kein ARM-Support (@ 1. Juli 2015)
  3. Als Editor sollten Sie wirklich Notepad ++ verwenden, nicht den internen Editor
user1831630 11.07.2015 09:40
quelle