2012-02-26 20 views
5

È possibile includere la libreria standard C++ in una singola istruzione, oppure è necessario eseguirla per intestazione?Include la libreria standard C++

+2

Non c'è '#include '. –

+0

È preferibile includerli in base alle necessità, in modo che la compilazione e il collegamento richiedano meno tempo. – Ajay

risposta

0

No, non esiste una scelta rapida per includere tutte le intestazioni standard.

0

Forse è possibile includere tutte le intestazioni nel proprio all.h, quindi #include<all.h>, ma non è consigliabile.

4

No, non esiste una scelta rapida per includere tutte le intestazioni standard. In genere devi includere ognuno di quelli che richiedi separatamente.

È possibile creare un singolo file di intestazione che include tutte le intestazioni di libreria standard, ad esempio all.h. Tuttavia, dovresti considerare se fare ciò è una mossa intelligente, poiché estenderebbe significativamente i tempi di compilazione.

Inoltre, assicurarsi di aver compreso il modello di compilazione C++ prima di prendere tali decisioni. Se non lo sai già, scopri cos'è un'unità di traduzione, un file oggetto, cosa fa il linker, qual è la differenza tra l'inclusione di un'intestazione di libreria e il collegamento di una libreria.

+0

Bene, grazie, è esattamente ciò di cui avevo bisogno. Non ho intenzione di farlo ogni giorno, ero in un concorso di programmazione l'altro giorno e sia il mio compagno che io sapevamo cosa fare, ma non conoscevamo la biblioteca per ottenere ciò di cui avevamo bisogno, e non l'abbiamo fatto t avere un riferimento a loro. – xspyderz

+0

Suppongo che la cosa migliore da fare in queste situazioni sia cercare di avere accesso a un riferimento bibliografico - non solo allo scopo di trovare il nome dell'intestazione. Le regole della competizione erano orribilmente severe se non lo permettevano. Se non puoi assolutamente avere un riferimento, puoi provare a trovare la directory in cui sono presenti i file di intestazione della libreria standard e elencare la directory - dovrebbe essere abbastanza ovvio nella maggior parte dei casi, poiché molti di questi sono appena chiamati dopo la classe principale (ad es.). – AndrzejJ

+0

Per la maggior parte delle intestazioni rimanenti, dovresti avere una buona idea di cosa si trova ad es. '' se lo hai usato abbastanza spesso, e se non lo hai fatto, probabilmente non ce la farai comunque senza un riferimento. Come ultima risorsa, puoi ovviamente guardare e/o usare grep o qualsiasi strumento di ricerca testo nella directory con le intestazioni delle librerie standard. – AndrzejJ

2

In Visual Studio è possibile inserire tutti questi file di intestazione all'interno del file di intestazione precompilato. Dato che questo file è incluso in tutti i tuoi file, tutti i principianti potrebbero essere disponibili ovunque. Se tutti gli include nel file di intestazione precompilato provengono da librerie esterne, la precompilazione dovrebbe accelerare i tempi di compilazione.

Problemi correlati