c ++ makefile importanza e multipiattaforma

4

Sono nuovo di c ++ e volevo sapere alcune domande riguardanti makefile.

1) La scrittura di makefile è davvero importante? Voglio dire, ci sono molti IDE che lo fanno automaticamente. Inoltre, le persone nella programmazione del lavoro scrivono i makefile o usano l'automazione?

2) Devo imparare GNU make o qualcos'altro come cmake o altro? Qualcuno può indicare pro e contro di questi?

    
posta user803563 17.06.2011 - 18:17
fonte

4 risposte

3

Make non è specifico di C ++. È uno strumento per confrontare le date dei file ed eseguire un programma contro di loro. Potrebbe essere un compilatore o no. Ho usato make per automatizzare le attività di produzione.

Un certo numero di strumenti genererà makefile per te, così puoi farcela senza imparare i dettagli.

Ci sono molti sapori di marca (troppi secondo me). Non ne selezionerei uno specifico a meno che tu non abbia un bisogno diretto di riempire una versione specifica.

Ci sono momenti in cui dovrai sapere come scriverne uno (configurare un server di build, ecc.). In genere non sono così difficili da capire. Non me ne preoccuperei fino a quando non sarà necessario.

    
risposta data 17.06.2011 - 18:24
fonte
3

L'IDE genererà qualcosa di sufficiente per piccoli progetti, dove stai lavorando da solo, ma è abbastanza difficile da gestire per progetti più grandi: lo sono costantemente dover modificare i file di progetto VS a mano, perché è così complicato da fare attraverso la GUI, e sono spesso frustrato perché non c'è modo di specificare correttamente le dipendenze.

I makefile hanno una delle peggiori sintassi che ho incontrato e le loro la gestione delle dipendenze è davvero, davvero primitiva. (Prova ad aggiungerne alcuni commenti a un intestazione chiave, e vedrai cosa intendo.) Ancora, ho ancora per vedere qualsiasi altra cosa che abbia funzionato.

La mia raccomandazione sarebbe: se sei impegnato ad imparare C ++, o qualche altro lingua, utilizzare l'IDE. Non ha senso sovraccaricare il tuo apprendimento capacità e tutto ciò che farai finché non ne avrai del reale l'esperienza non sarà abbastanza complicata da spingere l'IDE ai suoi limiti. Ma aspettati di dover imparare i makefile per un po 'di tempo nella tua carriera; Là sono troppe cose per le quali non funziona nient'altro.

    
risposta data 17.06.2011 - 18:27
fonte
1

Dipende da cosa stai sviluppando. Se lo fai per lavoro e tutti usano lo stesso IDE, non è necessario utilizzare makefile. Se stai lavorando da solo, probabilmente non è necessario imparare a utilizzare i makefile. Tuttavia, se si tratta di un progetto open source, probabilmente dovresti imparare come usare i makefile. I file di progetto generati dagli IDE sono in genere specifici per quell'IDE. Tuttavia, le persone che contribuiscono al tuo progetto possono avere preferenze diverse di editor di testo.

    
risposta data 17.06.2011 - 18:28
fonte
1

Sono un'autorità su Make, è uno dei miei strumenti preferiti e lo uso quasi tutti i giorni. Detto questo, penso che sia incredibile che nessuno abbia inventato qualcosa di meglio in tutti questi anni. Crea ha evidenti carenze e una lunga curva di apprendimento, ma è lo strumento migliore per l'automazione della build.

Ho lavorato come programmatore per anni prima di apprendere Make (e l'ho odiato perché la mia unica esperienza era con i makefile scritti male degli altri). Se stai usando qualcos'altro come un IDE, e non ti sta ostacolando, puoi ottenere bene senza Make.

Se inizi a utilizzare Make, vai con GNUMake. È lo standard di fatto, è gratuito, è buono, è GNU, e alcune altre versioni hanno sensibilità dello spazio bianco e altri comportamenti idiomatici che ti faranno strappare i capelli.

    
risposta data 17.06.2011 - 19:38
fonte

Leggi altre domande sui tag