Setarea parametrilor de compilare
Parametrii compilatorului gcc
Implicit, în timpul compilării nu sunt afișate avertismente. Totuși, avertismentele compilatorului pot indica anumite probleme în cod, chiar dacă acesta se compilează cu succes. Un exemplu simplu: în program este definită o variabilă care nu este utilizată nicăieri. La compilare, compilatorul poate semnala această problemă, ceea ce ajută dezvoltatorul să o identifice și să reacționeze imediat.
Pentru a compila cu avertismente se folosește opțiunea -Wall:
g++ -Wall source.cpp
Există versiuni diferite ale standardului limbajului C++, iar fiecare poate adăuga funcționalități suplimentare pe care s-ar putea să dorim să le folosim. Cu ajutorul opțiunii -std=, putem specifica standardul dorit, cum ar fi c++11, c++14, c++17 sau c++20. De exemplu, pentru a compila folosind standardul C++17:
g++ -std=c++17 source.cpp
În mod similar, pentru C++20:
g++ -std=c++20 source.cpp
Pentru a ne asigura că programul respectă strict un anumit standard, putem adăuga opțiunea -pedantic:
g++ -std=c++11 -Wall -pedantic app.cpp
g++ -std=c++14 -Wall -pedantic app.cpp
g++ -std=c++17 -Wall -pedantic app.cpp
g++ -std=c++20 -Wall -pedantic app.cpp
În acest caz, compilatorul va genera avertismente dacă codul nu respectă regulile standardului.
Pentru a rula automat aplicația după compilare, se poate folosi comanda:
g++ source.cpp & ./a.out
Putem combina mai multe opțiuni într-o singură comandă:
g++ -std=c++20 -Wall -pedantic app.cpp -o app & app
Parametrii compilatorului clang
Principalii parametri ai compilatorului Clang, în multe cazuri, sunt identici cu cei ai gcc. De exemplu, compilarea cu Clang folosind un anumit standard și afișarea erorilor:
clang++ -std=c++20 -Wall -pedantic app.cpp -o app.exe & app.exe