Compiler, IDE ...
-
Original erstellt von 1ntrud0r:
**die meissten grösseren projekte wurden mit BCB gemacht ... ! Würde es Jahre zum Compilieren brauchen wäre Navision nicht entstanden !Es liegt nicht an der Ide ... des C Builder vermutlich eher an der vermeindlichen unfähigkeit der Bediener ... so long nuff said !!!**
Welche größeren Projekte meinst du denn??
Der BCB kompiliert nunmal langsamer als zB der VC++! Ich kann dir nicht genau sagen warum, da ich nur einmal die 30 Tage Trial Version hatte - aber selbst durch vorkompilierte Header ist er lahm.
Ich will den BCB nicht schlechtmachen - der 6er ist IMHO _sehr_ gut, aber er kompiliert lahm!
Vielleicht fehlt dir ein vergleich? dann schau dir mal an, was der Digital Mars kann...
GCC ist auch nicht der schnellste beim kompilieren, aber immer noch schneller als der BCB!
-
was ich von der msvc 7.1 beta gehört habe soll sie sehr standard konform sein
vieleicht lohnt sich etwas warten dan kann man sich den intel sparen,aber das problem mit den msvc 6.0 und templates läst sich lösen, man schaue nur den loki port von HumeSikkins an, ich habe auch schon überlegt ein convertier zu schreiben der automatisch die nötigen workarouns schreibt, aber bis ich dazu komme ist der msvc 6.0 schon ausgestorben
-
Ich dachte der Intel C++ wäre weitgehend kompatibel zum VC? Der hat doch sogar die Einschränkungen bzgl. des for(int i;)-Bugs, damit der gleiche Quellcode ohne Änderungen übersetzbar ist... steht doch auch irgendwo bei Intel, der Intel C++ ist kompatibel zum VC - das heißt aber auch, daß er nicht wesentlich näher am Standard dran sein kann...
-
mit /Za und -Qansi geht das schon
-
aber das problem mit den msvc 6.0 und templates läst sich lösen
Das sollte besser heißen: "Aber die Probleme des VC 6 mit Templates lassen sich manchmal lösen". Einige Sachen erfordern nämlich einen riesigen Aufwand (z.B. partial ordering von Funktionstemplates) und andere lassen sich überhaupt nicht umsetzen (z.B. vernünftige Typetraits - es ist z.B. nicht möglich für ein beliebiges T& das entsprechende T zu liefern ).
@Marc++us
Meines Wissens hat der Intel einfach ein paar Bugs weniger.
Das:template<typename T, int n> int arraylength(T (&arr)[n]) { return n; } int main() { int arr[20]; cout << arraylength(arr) << endl; }
geht z.B. nur mit dem Intel, nicht aber mit dem VC 6.
Das wiederum läßt beide gleichermaßen blöd aussehen:
template <unsigned i> int BloedesBeispiel() { return i; } int main() { // gibt fälschlicherweise dreimal 2 aus cout << BloedesBeispiel<0>() << "\n"; cout << BloedesBeispiel<1>() << "\n"; cout << BloedesBeispiel<2>() << flush; }
-
Original erstellt von HumeSikkins:
Meines Wissens hat der Intel einfach ein paar Bugs weniger.Das ist auch mein Kenntnisstand... er stürzt bei einigen Template-Konstruktionen nicht ab, aber ich weiß nicht ob man ihn deswegen als "näher am Standard" bezeichnen darf.
-
Original erstellt von Dimah:
mit /Za und -Qansi geht das schonMit diesen Compilersettings kannst Du aber weder die MFC noch ATL übersetzen, und damit sind diese Settings weitgehend sinnlos.
-
Original erstellt von Marc++us:
Das ist auch mein Kenntnisstand... er stürzt bei einigen Template-Konstruktionen nicht ab, aber ich weiß nicht ob man ihn deswegen als "näher am Standard" bezeichnen darf.Ich hab den ICC eine zeitlang getestet. Also was templates betrifft war er ganz OK -> partielle spezialisierung und sonst noch einige Kleinigkeiten.
Bei meinem kleinen conformance-Test reichte es immerhin fuer Platz 3 hinter gcc3 und Borland 6.
Aber ausser templates kann er eigentlich nicht wirklich mehr, sein Hauptaugenmerk liegt ja auch auf schnellem Code!
-
also C++Builder als nähestes am Standard? Warum is der nur so langsam
Wenn sich der Intel so verhält wie VC dann hilft er auch nicht wirklich weiter. Hatte irgendwo mal gelesen, dass er der einzige ist, der das "extern" für Templates unterstützt und daraus geschlossen, dass er recht gut am Standard wär.
Kennt jemand das Ding von DigitalMars mitsamt der Entwicklungsumgebung? Wenn ich das recht verstehe, kriegt man die nur, wenn man die CD bestellt? Ansonsten preisen sie sich ja, dass er beim Compilieren und Builden am schnellsten wären.
Hab jetzt mal MinGW mit DevC++ ein bisschen getestet. Der Compiler is ja schon mal gut. Die IDE sieht ja auch wirklich nicht schlecht aus. Aber der Debugger ist halt schon recht einfach. Um Projekte mit Threads zu Debuggen oder ne DLL scheint er nicht zu reichen ...
Dann hab ich mal nach reinen Debugger-Umgebungen geguckt. CodeInsight scheint so der Standard zu sein für GNU-Compiler (wenn man nicht auf Kommandozeile arbeiten will). Aber für die 3.2 Version vom MinGW scheint momentan keine lauffähige Windows-Version zu geben.
Wenn ich unseren Projektleitern sag, das müssen wir erst selber Hand anlegen, compilieren etc. dann werden sie nicht so begeistert von sein.Mit was arbeitet denn Ihr so im Job?
-
Original erstellt von Marc++us:
Mit diesen Compilersettings kannst Du aber weder die MFC noch ATL übersetzen, und damit sind diese Settings weitgehend sinnlos.jup, in diesen fall macht das ja nichts weil sie ihre guis mit Delphi machen
Original erstellt von <komk>:
**Wenn sich der Intel so verhält wie VC dann hilft er auch nicht wirklich weiter. Hatte irgendwo mal gelesen, dass er der einzige ist, der das "extern" für Templates unterstützt und daraus geschlossen, dass er recht gut am Standard wär.
**also extern kann er auch nicht,
ich würde ihn aber noch nicht abhacken, probiere mal die 30 tage test version (instalieren, ein hacken in msvc umstellen, und schon ist er bereit), der intel ist sozusagen bug komatiebel mit msvc d.h. aber nicht das du dein code extra mit den bugs code musst, du hast blos die wahl (mit /Za und -Qansi dan nicht mehr)[ Dieser Beitrag wurde am 19.12.2002 um 18:09 Uhr von Dimah editiert. ]
-
Wo wir gerade beim Intel Compiler sind: Hat einer von euch den mal so in die VC IDE integriert bekommen, dass man auch doppelt auf die Fehlermeldungen klicken kann und das dann an die entsprechende Stelle im Code gesprungen wird? Bei mir macht der da irgendwie immer doppelte Backslashes rein und findet deshalb die entsprechenden Dateien nicht.
-
ja ich, kein probleme
-
@Dimah
Ok. Danke. Dann liegt's wohl mal wieder an meiner Unfähigkeit. Hatte gehofft das ganze auf die Unfähigkeit anderer schieben zu können
-
Original erstellt von HumeSikkins:
@Dimah
Ok. Danke. Dann liegt's wohl mal wieder an meiner Unfähigkeit. Hatte gehofft das ganze auf die Unfähigkeit anderer schieben zu könnenhast du ihn beim setup erlaubt die umgebungs variablen zu setzen? ich ja
-
Original erstellt von HumeSikkins:
Ok. Danke. Dann liegt's wohl mal wieder an meiner Unfähigkeit.Die VC++ IDE sucht verlangt lediglich
filename(zeile)
am anfang der fehlermeldungSo habe ich zB auch den gcc geschafft in die VC++ IDE zu integrieren.
Welches Ausgabeformat hat denn dein ICC?
er sollte etwas in der artmain.cpp(12) : error C1414: Du doedel!
sein, dann schluckt es der VC++! (zumindest theoretisch)
-
Original erstellt von Shade Of Mine:
**Die VC++ IDE sucht verlangt lediglich
filename(zeile)
am anfang der fehlermeldungSo habe ich zB auch den gcc geschafft in die VC++ IDE zu integrieren.
Welches Ausgabeformat hat denn dein ICC?
er sollte etwas in der artmain.cpp(12) : error C1414: Du doedel!
sein, dann schluckt es der VC++! (zumindest theoretisch)**
wie hast du das gemacht gcc in vc? ich habe schon danach gesucht aber nichts gefunden
-
Original erstellt von Dimah:
wie hast du das gemacht gcc in vc? ich habe schon danach gesucht aber nichts gefundenjo, da gibts leider nix
Du kannst dir ja mal meinen Ansatz ansehen.
Aber das parsen der Ausgabe vom gcc ist etwas umstaendlich - denn der gcc schreibt nicht nach stdout sondern nach stderr - das ist natuerlich fies.
aber das programm besteht zu 95% aus einem switch mit vielen unter-switches
Sehr miserables design...PS:
grosser Dank geht hierbei an Walter Bright von Digital Mars, der mich auf die Idee dazu gebracht hat und so nett war mir die Source der Digital Mars cl.exe zu ueberlassen![ Dieser Beitrag wurde am 19.12.2002 um 21:19 Uhr von Shade Of Mine editiert. ]
-
Hallo,
meine VC Fehlermeldungen sehen so aus: "D:\cdtemp\test\test.cpp(737) : error C2065: 'coute' : nichtdeklarierter Bezeichner"Der Intel-Compiler produziert:
"D:\\cdtemp\\test\\test.cpp(737): error: identifier "coute" is undefined"
Die doppelten Backslashes sind das Problem.
[ Dieser Beitrag wurde am 19.12.2002 um 21:31 Uhr von HumeSikkins editiert. ]
-
Könnte das mit dem GCC sauber dokumentiert werden? Das wäre ein hilfreicher Tip, da man sich die VC-IDE ja über die Autorenversionen fast umsonst besorgen kann.... dann kann man die VC-IDE mit einem anderen Compiler nutzen, verletzt kein Copyright und hat trotzdem eine gute IDE mit einem starken Compiler... für 15 EUR.
-
gcc auf der VC-Oberfläche????
Das wär ja supergenial! Aber wie funzt das mit den make-Files? Und wie mit dem Debugger? Sind das nicht andere Formate und so?
grosser Dank geht hierbei an Walter Bright von Digital Mars, der mich auf die Idee dazu gebracht hat und so nett war mir die Source der Digital Mars cl.exe zu ueberlassen!
Geht das dann auch mit dem DigitalMars-Compiler? Der soll ja recht gut sein.