Il modo migliore per esplorare rapidamente / grok i progetti C / C ++ open source? [duplicare]

0

Sto cercando un flusso di lavoro suggerito per poter rapidamente scaricare vari progetti open source c / c ++ e quindi iniziare a navigare in modo intelligente sulle fonti.

"Intelligentemente" significa essere in grado di saltare a usi, definizioni, implementazioni di un particolare simbolo, sia nella base di codice scaricata, sia anche nelle intestazioni di librerie di riferimento eventualmente installate in / usr / local o / System / Frameworks ecc. .

questo codice può essere pilotato da etags, ctags, globale di gnu, indexer CDT di eclipse, indicizzatore di Xcode, sono aperto a qualsiasi cosa, ma non ho idea di quale sia la soluzione migliore per la maggior parte dei casi.

Poco dopo vorrei iniziare a esaminare i test unitari, gli esempi, le demo nel debugger in modo da poter migliorare il funzionamento del codice

Ovviamente, questo non sarà possibile per tutti i progetti là fuori ... ma la maggior parte dei progetti a cui sono interessato sono autotools o basati su cmake - In generale, non mi interessa cosa IDE (emacs , vim, xcode, eclipse, ecc.) Io uso, e non mi dispiace eseguire un debugger da linea di comando - voglio solo scaricare rapidamente un progetto C / C ++, "scherzare con esso" a livello sorgente, e poi andare avanti se non è interessante.

La mia domanda è rivolta in particolare al super hacker guy o gal che esplora abitualmente diversi progetti C / C ++ di grandi dimensioni ogni pochi giorni / settimane - > come lo fai in modo produttivo?

(Il mio livello di esperienza / esperienza è che conosco abbastanza bene gli strumenti c / c ++ per fare in modo che le cose costruiscano o eseguano il debug di una build su diversi sistemi operativi di solito entro pochi minuti, ma potrebbero volerci ore prima che arrivi al punto in cui posso prendere un grande progetto e arrivare al punto in cui sto passando degli esempi nel debugger. Ho la sensazione che questo sia perché cerco di usare i moderni IDE, ma sarebbe meglio usare solo 'vecchi strumenti per la scuola quando si tratta di cose di jvm - di solito è abbastanza veloce arrivare in un posto dove si può ottenere intellij per inserire codice e avviare il debugging - Mi piacerebbe replicarlo il più possibile in C / C ++)

grazie!

    
posta lilinjn 31.08.2013 - 18:16
fonte

1 risposta

0

Segui i soldi. E per soldi intendo dati. E ovviamente approfitta delle convenzioni e dei commenti di denominazione intelligenti mentre vai (se ce ne sono). In codebases veramente marcate, la semplice ricerca di riferimenti e il flusso di parametri passati / restituiti spesso mi aiuta più delle funzionalità IDE. In un codice ben strutturato, trovo spesso l'impostazione di punti di interruzione e di passaggio attraverso determinate sezioni di esso è un ottimo modo per avere un'idea iniziale di come tutto funziona. Questo è meno utile quando il codice è completamente bat! @ # $ Ed è più probabile che causi un'emicrania.

Stranamente, l'esatto contrario sembra vero quando si esegue il debug. Spesso puoi semplicemente esaminare i riferimenti per capire dove si trova un problema in codice pulito / ben strutturato, mentre l'unico modo per trovare un problema in un disastro completo è quello di percorrere tutte le ennesima dozzine di chiamate di buffonate complete finché non vedi dove si sta rompendo.

    
risposta data 31.08.2013 - 21:03
fonte

Leggi altre domande sui tag