Open Watcom?
-
Hallo!
Ich habe gehört, dass OpenWatcom ein schlechter Compiler sein soll. Warum ist er denn so schlecht? Und wie seht ihr das ganze?
Danke in voraus. Ich freue mich auf Antworten.
MfG
mipter
-
also ich finde ihn nicht schlecht (IDE halt, für faule), aber angeblich sollen die fertigen EXE-files nicht gut optimiert sein etc...
-
loki1985 schrieb:
also ich finde ihn nicht schlecht (IDE halt, für faule), aber angeblich sollen die fertigen EXE-files nicht gut optimiert sein etc...
Die IDE gefällt dir?? Also mich hat sie schockiert. Da habe ich bei einer x-beliebigen freien IDE wesentlich mehr Features und Komfort.
Der Compiler ist deshalb so mies, weil er - zumindest die 1. Version des OpenWatcom (weitere habe ich dann nicht mehr angesehen) - nicht einmal eine C++98 annährend unterstützt. Er ist da weit hinter Compilern wie VC++6.
Dass die optimierung immer noch gut sind, wage ich zu bezweifeln. Dass Problem ist nämlich - es ist nahezu der Compiler, wie er früher war. Und da ist er hoffnungslos veraltet. Da muss noch ne Menge arbeit reingesteckt werden.
-
Shade Of Mine schrieb:
loki1985 schrieb:
also ich finde ihn nicht schlecht (IDE halt, für faule), aber angeblich sollen die fertigen EXE-files nicht gut optimiert sein etc...
Die IDE gefällt dir?? Also mich hat sie schockiert. Da habe ich bei einer x-beliebigen freien IDE wesentlich mehr Features und Komfort.
Seh ich auch so. Also die IDE erinnert mich irgendwie an die IDE von Borlaand C++ 3.1
Shade Of Mine schrieb:
Der Compiler ist deshalb so mies, weil er - zumindest die 1. Version des OpenWatcom (weitere habe ich dann nicht mehr angesehen) - nicht einmal eine C++98 annährend unterstützt. Er ist da weit hinter Compilern wie VC++6.
Dass die optimierung immer noch gut sind, wage ich zu bezweifeln. Dass Problem ist nämlich - es ist nahezu der Compiler, wie er früher war. Und da ist er hoffnungslos veraltet. Da muss noch ne Menge arbeit reingesteckt werden.
Ich hab das mal getesten mit dem folgenen SEHR einfachen Programm:
#include <iostream> using namespace std; int main() { cout << "Hello World" << endl; return 0; }
Der Compiler-Output:
wpp386 a.cpp -i=C:\watcom\h;C:\watcom\h\nt -w4 -e25 -zq -od -d2 -5r -bt=nt -mf a.cpp(2): Error! E833: col(17) name does not reference a namespace Error(E42): Last command making (c:\watcom\a.obj) returned a bad status Error(E02): Make execution terminated Execution complete
In <iostream> is also keine namespace namens std. Aha. Entspricht nicht dem aktuellen Standard. Hoffnungslos veraltet.
Außerdem hab ich noch festgestellt, dass die string-Klasse aus <string> in OpenWatcom groß geschrieben wird: String. wie in der VCL des BCB.
Aber: Es ist der einzige freie Compiler der Win16, Win386 und 16-Bit-MFC unterstützt. Außerdem ist es der einzige Compiler, mit dem man unter Windows 16- und 32-Bit OS/2- und Netware-Binaries erzeugen kann. - Aber wer braucht das schon?
-
mastercpp: Vielleicht hätte iostream den Namespace std, wenn die Datei überhaupt existieren würde. Ich habe Open Watcom gestern installiert und suche immer noch nach den C++ Headers.
-
PS: Ih habe die Inludes von VC++ 6.0 kopiert. Trotzdem lief es nicht. Wieso weiß ich jetzt nicht mehr. Ist die std von VC++ eigentlich speziell für den Compiler optimiert, sodass andere Compiler diese nicht fehlerfrei benutzen können?
-
CME386 schrieb:
mastercpp: Vielleicht hätte iostream den Namespace std, wenn die Datei überhaupt existieren würde. Ich habe Open Watcom gestern installiert und suche immer noch nach den C++ Headers.
Wenn ich das "using namespace std;" weglasse geht es ja. Also müssen die "ohne-.h"-C++ Header da sein. Fragt sich nur wo. Ich hab mal danach gesucht und nur die "mit-.h"-C++ Header gefunden. Vielleicht setzt der Compiler hinter jede Include-Datei ein ".h" wenn keins vorhanden ist. Das wär dann aber ziemlich komisch...