Come posso creare una tabella per ottenere il tempo di compilazione di ogni file C++ nel progetto Visual Studio 2005.stampa il tempo di compilazione di ogni file in Visual Studio C++
risposta
"Strumenti" -> "Opzioni" -> "Progetti e soluzioni" -> "Impostazioni VC++ progetto"
Spuntare "build Timing".
È passato un po 'di tempo da quando ho usato quella versione del compilatore, ma ricordo che stampa il nome del file che si sta compilando sulla console (quando si usa la configurazione della riga di comando). Se questo è il caso, allora si può scrivere un programma che fa il seguente:
- CreateProcess sulla riga di comando del compilatore, reindirizzando stdout ad un tubo
- Leggi dal tubo, alla ricerca di nomi di file di origine
- ogni volta che un nome del file sorgente è visto, si noti il timestamp corrente
- Quando il tubo è chiuso, stampare i tempi impiegati per ogni file costruire
Anche se questo approccio potrebbe essere sviluppato in C++, sarebbe probabilmente sarà più facile usare uno strumento come Perl per implementarlo.
grazie greg questo è un buon approccio ... –
wat su come scrivere uno script Python ?? –
Certo, Python sarebbe ugualmente adatto a questo. –
Sto usando Visual Studio 2010 ma altre versioni di Visual Studio potrebbero avere qualcosa di simile. In VS2010 è possibile aggiungere alle opzioni della riga di comando/Bt + che consente di stampare il tempo impiegato per compilare ciascun file. Quindi, in una proprietà di progetto sotto "Proprietà di configurazione" -> "C/C++" -> "riga di comando" -> "Opzioni aggiuntive" aggiungi/Bt +
impostando l'opzione risultati/Bt + in uscita (che viene registrato in il file di registro) le linee come le seguenti:
time(c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\c1.dll)=0.05110s < 25394686804 - 25394831194 > BB [C:\not-important\nlopt-2.4.2\direct\DIRect.c]
Maggiori informazioni su questa opzione in https://blogs.msdn.microsoft.com/vcblog/2010/04/01/vc-tip-get-detailed-build-throughput-diagnostics-using-msbuild-compiler-and-linker/ che ho trovato grazie a questa risposta https://stackoverflow.com/a/3513043/453436
ci sono molti modi per estrarre le linee di tempo a seconda di ciò strumenti che hai a disposizione. L'ho fatto sotto una shell bash con una combinazione di find, grep e perl. Quanto segue ti darà il tempo di compilazione ordinato per primo.
find . -name '*.log' | xargs grep time | perl -ne '$_ =~ /=(.*?)s.*\[(.*)\]/; print "$1 $2\n";' |sort -rn
Grazie! Io uso VS2013 e questo mostra effettivamente il tempo di compilazione per file. L'utilizzo dell'opzione "Costruisci tempo" come menzionato in un'altra risposta mostra solo i tempi di compilazione/collegamento per progetto. – opetroch
- 1. Tempo di compilazione lento quando Visual Studio 2012 è aperto
- 2. Visual Studio ricompila file singolo ogni volta
- 3. Compilazione dell'assieme in Visual Studio
- 4. Tempo di stampa Java dell'ultima compilazione
- 5. Attiva eccezioni C++ in Visual Studio 2010 opzioni di compilazione
- 6. Come ridurre al minimo il tempo di compilazione in C++
- 7. Stampa data e ora In Visual Studio C++ build?
- 8. Visual Studio Cordova compilazione fallisce
- 9. Plug-in di tracciamento del tempo di Visual Studio
- 10. Come disabilitare la compilazione in tempo reale in Visual Studio 2015
- 11. Definire nuova costante tempo di compilazione in C# (per #if)
- 12. Compilazione x86 nativa C++ DLL di Visual Studio 2012
- 13. Riflessione del tempo di compilazione in C#
- 14. simulare tempo di compilazione riflessione in C++
- 15. tempo di compilazione trigonometria in C
- 16. Aggiungere il file C a Visual Studio
- 17. Più eventi pre-compilazione in Visual Studio?
- 18. di Visual Studio errori di compilazione nella libreria std
- 19. compilazione C "standard" ++ in Visual Studio (non .net)
- 20. Come impostare flag di compilazione/bigobj in Visual Studio?
- 21. compilazione sulla riga di comando in Visual C++
- 22. Ordine di compilazione del progetto in Visual Studio 2010?
- 23. Nuovo file di C++ in Visual Studio Express 2015
- 24. Compilazione C# senza studio visivo
- 25. LNK 2005 in Visual C++ in Visual Studio 2010
- 26. Come velocizzare il tempo di collegamento C++
- 27. Monitoraggio del tempo in Visual Studio Online
- 28. Visual Studio specificare file di definizione
- 29. Sistema di compilazione autonomo per progetti Visual Studio
- 30. Visual Studio: più comandi post-compilazione?
Seriamente, è così facile? Mi piace ancora la mia soluzione! :) –
Il tempo di generazione fornisce tempi per i vari processi di compilazione, non per ciascun file. –