Compiler, IDE ...



  • Wir benutzen in der Firma hier eigentlich den C++Builder 5. Da der aber z.T. von der IDE ziehmlich übel ist, und v.a. auch super-mega-langsam beim Compilieren, wenn man viele Module benutzt (ich will jetzt keine Tipps wie vorkompilierte Header hören - damit ist er langsam, ohne wär er unerträglich), hat sich hier die Stimmung ziehmlich gegen ihn gewendet.

    Außerdem haben wir sporatisch VC6 im Einsatz. Hier ist die IDE natürlich superklasse, es hapert aber mit dem Sprachstandard. So ziehmlich alle meine Projekte dürften sich zwecks Templates etc. damit nicht compilieren lassen (und damig meine ich wirklich überhaupt nicht, ohne Designmerkmale umzuändern, ich red nicht von ein paar Einstellungsproblemen).

    Jo, jetzt hätten wir mehrere Alternativen:

    VC 6 IDE mit Intel C++-Compiler -> Ist vom Compiler und IDE wohl so ziehmlich die beste Lösung, wohl aber teuer.

    MS Studio.NET -> soweit ich gehört hab, hat sich die Standard-Konformität ziehmlich verbessert. Ist das so? Problem ist, wir wollen keine .NET-Anwendungen machen, müssen also aufpassen das nicht versehentlich zu machen 🙂 Wär außerdem auch teuer, weil wir eben nur den c++-Compiler haben wollen. Und von Borland weg um dann zu MS zu gehn?

    C++Builder 6 (bald kommt ja 7, oder?). Hätte halt den Vorteil, dass es von Borland ist mit VCL/CLX etc. Wir machen in C++ zwar eigentlich nur Konsolenanwendungen (für Oberflächen nehmen wir Delphi -> auch ein Grund für den C-Builder), benutzen aber doch die BDE, den VisiBroker etc. Wie is denn die neue Version so? Funktioniert die Codevervollständigung auch bei Projekten mit mehr als 5 Modulen? Ist der Compiler schneller? Hängt sich nicht bei jedem 5 Debugger-Lauf alles auf?

    Oder aber:
    freier Compiler. Prinzipiell wär der c++-Compiler von gnu schon ne echte Alternative. Aber wie ist das mit Oberflächen? Bitte nicht hauen, aber bei uns hat eigentlich noch keiner ein größeres Projekt mit Commandozeile gemacht. Aber es gibt doch wohl auch richtige Entwicklungsumgebungen (NetBeans z.B. geht doch nicht nur für Java). Und wie funzt das mit dem Debugging. Da müsste es doch auch anständige Frontends geben. Mit ner IDE isses halt wahrscheinlich doch einfacher im Alltag wirklich produktiv zu arbeiten.

    Ich will jetzt echt keinen Flamewar anstiften und will auch nicht hören, dass das mit dem C++Builder nicht stimmt. Das ist unser Eindruck und wir arbeiten täglich damit. Möchte aber Eure Meinung hören zu obigen Alternativen und den Vorurteilen, die ich hab.



  • also der C++ Builder hat sich vom 5er zum 6er nicht sonderlich geändert. das würde ich nicht empfehlen. und die standardkonformität vom visual c++ 6er zum 7er wurde zwar verbessert, aber nur sehr wenig. lohnt sich also auch ned. 🙄



  • Beim freien Compiler gibt's momentan nur den DEVCpp und den LCC ( allerdings ist Letzterer nur C). Für mich reicht der DEV vollkommen aus. Trotzdem würde ich zum Entwickeln kommerzieller Projekte das VC++ 6 empfehlen. Der kann alles, ist direkt auf Windows zugeschnitten (sollte man doch meinen ;)) und ist auch relativ schnell. Mal abgesehen davon hat er nicht die MAcken des DEV, die einem schon die zeit rauben können.
    Borland ist meines Erachtens nur für kleinere und evtl. mittlere Projekte annehmbar, da er einfach zu langsam ist. Alles liegt in Klassenableitungen von Klassenableitung mit 5 mal umgeschriebenen Virtuals - Das ist mir einfach nix.

    cYa
    DjR



  • ist der BCB wirklich langsam? 🙄



  • jo. einfach dadurch, dass er objekte erstellen muss von klassen, deren templat-klassen er braucht, deren templates benötigt werden...

    Es ist einfach zu handhaben, aber er braucht dadurch Jahre zum compilieren und die Progs sind auch nicht die schnellsten



  • Aber das müssen doch eigentlich alle C++Compiler. Ich weiß nicht, warum die Borländer das so garnet auf die Reihe kriegen. Aber der Unterschied zur Visual C++ is schon frappierend.



  • Der GNU C++ Compiler ist auf jeden Fall empfehlenswert (benutzt am besten eine 3er Version (3.2), da die 2er Versionen ein paar Standard inkompatibilitäten mehr haben). Der GNU C++ Compiler ist mittlerweile auch von der Performance wohl ziemlich gut geworden und steht dem ICC kaum nach. Ich würde mir den auf jeden Fall mal angucken.

    Wenn du IDEs zum GNU C++ Compiler suchst, dann schau mal in die Linux FAQ. Ich nehme an, dass ihr unter Win. arbeitet, aber einige der IDEs dort laufen auch unter Windows.



  • na kommt Leute, es gibt hier bestimmt welche die mit dem gnu-Compiler größere Projekte machen, oder welche, die Intel C++ verwenden oder ...

    Ich will Eure Erfahrungen mit Compilern und IDEs wissen



  • 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 !!!



  • 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 schon

    Mit 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.


Anmelden zum Antworten