May 6
C ++ è un linguaggio di programmazione di sistemi compilato utilizzato per creare varie applicazioni e sistemi operativi. Quando un programmatore scrive un programma in C ++, deve "compila" il programma attraverso un compilatore in modo che una macchina può effettivamente eseguirlo. Uno di questi compilatori, g ++, contiene molte opzioni (chiamate "bandiere") che il programmatore può utilizzare quando si compila il programma per ottimizzare il processo di compilazione.
Quando si richiama il compilatore g ++ per compilare codice sorgente C ++, il programmatore chiama il compilatore g ++, seguito dal nome del file di origine. Ad esempio, se il programmatore vuole compilare un file sorgente C ++ denominata "test.cpp" allora avrebbe compilarlo dalla linea di comando, come nel seguente esempio:
g ++ test.cpp
Eventuali flag di compilazione avverrà prima o dopo il nome del file compilato, preceduto da un carattere di trattino ( "-").
Quando g ++ compila un file, si crea un eseguibile. Ciò significa che un utente può semplicemente "eseguire" il file, facendo doppio clic su di esso o comunque esecuzione opere per quel particolare sistema operativo. Nel gergo di compilazione, ciò significa che il file è stato sia "compilato" e "legata" alle librerie di codice necessarie. Usando il flag "-c", come nel seguente esempio, g ++ creerà un file oggetto "a.out", che non è eseguibile, ma pronto per il collegamento con altre biblioteche e file di codice sorgente in un progetto più ampio:
g ++ -c test.cpp
Quando si compila un file sorgente, il compilatore g ++ crea un file di default, chiamato sia "a.out" o "original_file_name.o". Ad esempio, la compilazione "test.cpp" crea il file "test.o". Usando il flag "-o", il programmatore può fare il compilatore crea un file con un nome diverso. Ad esempio, il seguente comando compila "test.cpp" in "test_result.o":
g ++ -o test_result.o test.cpp
C ++ è un linguaggio sintatticamente complessa, e spesso può portare ai programmatori di sviluppare codice complicato e difficile da debug. Anche se una sezione di codice C ++ può essere sintatticamente corretta, può portare ad errori durante l'esecuzione che sono difficili da trovare a causa della complessità del programma. Pertanto, i programmatori possono utilizzare il flag "-Wall" in g ++ per aiutare a cercare per questi bug. Il "-Wall" codice di controlli di bandiera e solleva gli avvertimenti se il codice può indurre un bug. Anche se il codice è sintatticamente corretto, il flag "-Wall" forzerà il compilatore di mettere in guardia sulle linee sospette di codice che possono causare problemi durante l'esecuzione.