2010-02-02 9 views
9

Unsere App bei der Arbeit ist ein riesiges Projekt mit über 3000 Einheiten, mit einem Gewicht von etwa 3,5 Millionen Codezeilen.Warum ändert sich die Anzahl der Zeilen so sehr von D2007 zu D2010?

... oder zumindest war es, als wir es unter D2007 kompilierten. Wir haben kürzlich auf D2010 aktualisiert, und jetzt, wenn wir einen vollständigen Build ausführen, endet die Zeilenzählung schließlich bei etwa 4,9 Millionen. Gleiche DPR, gleiche Code-Basis, alles gleich, aber der Compiler läuft irgendwie über 40% mehr Zeilen Code im Build-Zyklus und niemand weiß warum.

Um die Dinge noch verwirrender zu machen, gehen wir nach dem Erstellen zu Projekt -> Informationen in der IDE und es werden 3,8 Millionen Zeilen angezeigt. In D2007 haben der Compiler-Dialog und der Dialog Projekt -> Information die gleiche Nummer gemeldet.

Wer hat eine Idee was hier vor sich geht?

+0

Sind Sie sicher, dass die Compiler-Pfade identisch sind? Ist es möglich, dass Code, der vorher nicht kompiliert wurde, kompiliert wird? –

+0

@Nick, nein die Zahlen sind von der gleichen kompilieren. Einer direkt vor dem Drücken von OK nach einem erfolgreichen Kompilieren und der zweite, indem Sie sofort die Option Projekt -> Information aktivieren. Unter 2007 stimmen die Zahlen überein, jetzt unter 2010 nicht. Was ist genauer? – skamradt

+0

@skamradt: Ich denke Nick bezieht sich auf den Unterschied zwischen den Zeilenzahlen D2007 und D2010. –

Antwort

0

Ich frage mich, ob die Behandlung von Zeilenumbrüchen/Zeilenumbrüche zur Bestimmung der Zeilenanzahl im Compiler-Fortschrittsbereich irgendwie durch die Unicode-Interna verwirrte wird.

Haben Sie versucht, in D2009 zu kompilieren und zu sehen, ob das gleiche seltsame Verhalten zeigt?

0

Könnte es sein, weil es aggressiver mit Inlining ist?

1

Unterstützt D2010 keine Generika? Ich denke, einige der Bibliotheken wurden durch Generika ersetzt, die für zusätzliche Zeilen verantwortlich sind, die scheinbar analysiert werden, wenn sie die "virtuellen" Zeilen zählen, die sie verwendet.

+0

Generics erstellt tatsächlich zusätzliche Codezeilen hinter den Vorhängen. –

1

Es sieht aus wie es ein Fehler ist. Die korrekte Zeilennummer wird weiterhin unter Projekt | gemeldet Informationen. Siehe Nick's Antwort auf eine similar question.

Verwandte Themen