Questa guida copre un esempio in cui un programma C controlla la sua copertura del codice utilizzando il comando GCOV Linux.
Come utilizzare il comando GCOV in Linux
Un comando GCOV è uno strumento utile, in particolare per gli sviluppatori, e offre vari vantaggi, tra cui:
Il comando GCOV viene utilizzato con i file eseguiti compilati utilizzando G ++ o GCC. Pertanto, il comando funziona meglio con C o c++ programmi. Il programma è compilato con flag specifici per consentire a GCOV di raccogliere dati di copertura. Una volta compilato, vari file vengono generati contenenti i file delle note.
Da lì, si esegue il comando GCOV con il file eseguibile per ottenere il report della copertura dei dati.
Ad esempio, utilizzeremo un programma C che controlla e stampa i numeri divisibili per numeri specifici in un determinato intervallo. Per impostazione predefinita, il comando GCOV viene preinstallato. Per compilare il programma, utilizzare la sintassi di seguito e sostituire il nome del file per abbinare il tuo. Per questo esempio, il nostro file lo è GCOV-Test1.C come mostrato di seguito:
$ gcc -wall -fprofile -arcs -ftest -cove -test -test.C
Una volta compilato il codice, dovresti ottenere vari output come nell'immagine precedente. La compilazione del codice crea un eseguibile strumentata che consente a GCOV di calcolare le righe del codice utilizzate. IL -Ftest-Coverage consente a GCOV di calcolare le righe del codice eseguite. D'altra parte, il -fprofile-arcs incorpora altri condizionali e è possibile eseguire l'eseguibile strumentato, come mostrato con il seguente comando. Il nostro strumento eseguibile è il UN.fuori file, ma se si specifica un file di output durante la compilazione del codice, si dispierebbe un file strumentato diverso.
$ ./UN.fuori
Il comando esegue il programma e fornisce l'output previsto, che nel nostro caso è elencare i numeri divisibili all'interno dell'intervallo impostato.
Una volta eseguito il codice, la cosa successiva è controllare la copertura del codice utilizzando il comando GCOV Linux. Prima di allora, noterai più file creati. Contengono i file di note su cui GCOV si basa per generare il rapporto.
Qui, devi aggiungere il nome del programma come argomento a GCOV nel comando seguente:
$ GCOV GCOV-Test1.C
La nostra produzione sarà:
Si noti che tutte le righe nel nostro codice sono state eseguite, il che significa che il nostro codice è ben ottimizzato. Inoltre, un nuovo file GCOV-Test1.C.GCOV è stata creata. Contiene il numero di volte in cui ogni riga del nostro programma è stata eseguita, come mostrato nell'immagine seguente. Qualsiasi riga non eseguita avrebbe il ###### che lo precede e il numero a sinistra mostra i tempi in cui la singola linea è stata eseguita. Utilizzando questi dettagli, è possibile determinare le modifiche da apportare per ottimizzare il programma ed eseguirlo più velocemente.
Se vengono visualizzate le righe come non eseguite utilizzando un debugger, potresti risolverlo. L'obiettivo è garantire che tutte le righe vengano eseguite per raggiungere il 100% e consentire al codice di funzionare più velocemente.
Conclusione
Questo articolo copre il controllo della copertura del codice utilizzando il comando GCOV Linux. Durante i programmi di codifica, scriviamo più righe, ma non tutti vengono eseguiti. Quindi, sapere quali linee eseguono e quelle che non lo fanno è necessario. Le informazioni aiutano a correggere o rimuovere quelle righe che non vengono eseguite, rendendo il codice più veloce ed è un buon modo per ottimizzare il programma.