Compiler, IDE ...



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



  • 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önnen 😉

    hast 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 fehlermeldung

    So habe ich zB auch den gcc geschafft in die VC++ IDE zu integrieren.
    Welches Ausgabeformat hat denn dein ICC?
    er sollte etwas in der art

    main.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 fehlermeldung

    So habe ich zB auch den gcc geschafft in die VC++ IDE zu integrieren.
    Welches Ausgabeformat hat denn dein ICC?
    er sollte etwas in der art

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


Anmelden zum Antworten