Obj-Dateien nutzlos?



  • hiho,

    sagt mal, kompiliert ihr große Programme getrennt zu mehreren Obj-Dateien und linkt ihr diese dann zusammen - oder meint ihr dass es sich nicht lohnt... wie lange dauert das Kompilieren von sehr großen Programmen...



  • Of course, I do. Otherwise the re-compile time would be very long!



  • Mein aktuelles Projekt umfasst erst 1500 Zeilen Code uns hat die boost_date_time lib zugelinkt. Mit dem gcc 3.2 ohne Optimierung braucht das komplett kompiliert etwa 32 Sekunden. Ich nutze nen AMD 1,3 GHz und habe 256 MB RAM...

    und das ist noch ein wirklich sehr kleines Projekt.
    Aber jedesmal 32 Sekunden warten, damit alles neu kompliert wird?
    Das ist mir persönlich zu lange.
    Und dann stell dir mal richtige Mammutprojekte vor...

    MfG Nero



  • Original erstellt von <Neronus>:
    Und dann stell dir mal richtige Mammutprojekte vor...

    Beispiele: Mozilla, OOo, kdelibs etc. Stell Dir mal vor da gäbs keine .o-files!

    Und per make ist das ja auch sehr bequem...



  • ich hab hier ein.... hmm ich schätz mal 40000 Zeilen Projekt + vieleviele libs mit Borland C++ Builder und bis der bei komplett neu durchcompilieren fertich ist dauert das gut mal 5 Minuten.... sprich ohne o´s bist du wenn du grad was probierst länger am compilieren als am programmieren und das kanns dochnet sein nur weil man zu faul ist ne makedatei zu basteln 😃

    Gibt hier auchnoch ein ähnliches Projekt mit dem GNU C , das ist etwa doppelt solang.
    Seltsamerweise ist der GNU in so 2-3 minuten damit fertig 😃 aber ist auch nicht grade wenig Zeit auf Dauer.

    aso und ich hab hier nen 1200er AMD mit 256 mb ram



  • Das ist doch noch gar nichts, hast Du schon mal OOo kompiliert? *bg*



  • nur 40000 zeilen und paar Min. kompilieren? Hmmm das ist ja echt nicht sooo schnell - dann werde ich mich doch an obj's gewöhnen müssen...

    thx leute



  • Hallo,
    wobei dir obj-Dateien nichts helfen, wenn du zu viele und zu starke (womöglich noch zyklische) Abhängigkeiten in deinem Code hast. In diesem Fall bedeuetet eine Änderung immer die Neukompilierung der Welt, egal ob mit oder ohne obj-Dateien.



  • wie meinst du das?

    ich meine ok - wenn ich parameter in funktion x geändert hab, dann muss ich überall aufrufe anpassen - und alles neukompilieren... oder gibt es was anderes noch?



  • Wenn du in einer Headerdatei etwas änderst, dann müssen alle Dateien, die diese Datei einbinden, neukompiliert werden!


Anmelden zum Antworten