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.)?
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.
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
Einige Leute verwenden Ausdrücke, die damit zu tun haben, dass der Watcom (eigentlich OpenWatcom) -Compiler "veraltet" ist. Also was bedeutet es?
Nun zu dem, was es tut - zusätzlich zur Unterstützung von 16-Bit-Real- und Protected-Mode-Code:
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?
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.
Vorteile:
Nachteile:
Tags und Links c c++ compiler-construction watcom