2010-02-02 14 views
9

La nostra app al lavoro è un progetto enorme con oltre 3000 unità, con un peso di circa 3,5 milioni di righe di codice.Perché il conteggio delle righe cambia così tanto da D2007 a D2010?

... o almeno lo era quando lo stavamo compilando sotto D2007. Abbiamo recentemente aggiornato a D2010 e ora, se eseguiamo una compilazione completa, il conteggio delle righe si ferma infine a circa 4,9 milioni. Stesso DPR, stesso codice base, stesso tutto, ma il compilatore in qualche modo esegue oltre il 40% in più di linee di codice nel ciclo di build e nessuno qui sa perché.

Solo per rendere le cose più confuse, dopo la costruzione, possiamo andare a Progetto -> Informazioni nell'IDE e riporta 3.8M linee. In D2007, la finestra di dialogo del compilatore e la finestra di dialogo Progetto -> Informazioni riportavano lo stesso numero.

Qualcuno ha idea di cosa sta succedendo qui?

+0

Sei sicuro che i percorsi del compilatore siano uguali? È possibile che il codice che non è stato compilato prima ora venga compilato? –

+0

@Nick, non ci sono i numeri dalla compilazione SAME. Uno immediatamente prima di premere OK dopo una compilazione con successo, e il secondo da controllare immediatamente l'opzione Progetto -> Informazioni. Sotto il 2007 i numeri corrispondevano, ora sotto il 2010 non lo fanno. Quale è più preciso? – skamradt

+0

@skamradt: Penso che Nick si riferisca alla differenza tra i conteggi delle linee D2007 e D2010. –

risposta

0

Mi chiedo se la gestione dei ritorni di riga/ritorni a capo per determinare il conteggio delle righe nell'area di avanzamento del compilatore sia in qualche modo confusa a causa degli interni Unicode.

Hai provato a compilare in D2009 e vedere se mostra lo stesso strano comportamento?

0

Potrebbe essere perché è più aggressivo con inlining?

1

La D2010 non supporta i farmaci generici? Penso che alcune delle librerie siano state rimpiazzate da generici, che potrebbero rendere conto di linee aggiuntive che sembrano essere analizzate se conta le linee "virtuali" che sta usando.

+0

Generics effettivamente crea linee aggiuntive di codice dietro le tende. –

1

Sembra un bug. Il numero di riga corretto è ancora riportato nel progetto | Informazioni. Vedi la risposta di Nick a similar question.