This shows you the differences between two versions of the page.
poo-is:ghidcomenzilinux [2020/09/09 00:43] ruben_gilian.udroiu |
poo-is:ghidcomenzilinux [2020/09/09 01:01] (current) ruben_gilian.udroiu |
||
---|---|---|---|
Line 111: | Line 111: | ||
<note important>sudo apt-get install make</note> | <note important>sudo apt-get install make</note> | ||
<note>Pentru a compila un program in C folosim **gcc**, iar pentru a compila un program in C++ folosim **g++**.</note> | <note>Pentru a compila un program in C folosim **gcc**, iar pentru a compila un program in C++ folosim **g++**.</note> | ||
+ | === Exemplu de utilizare === | ||
+ | Presupunem ca avem programul ,,poo.cpp" care contine | ||
+ | <code c++> | ||
+ | #include <iostream> | ||
+ | using namespace std; | ||
+ | int main () { | ||
+ | for (int i = 0; i < 3; i++) | ||
+ | cout << "Hello world of OOP!" << endl; | ||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | == Etapa de compilare == | ||
+ | <code bash> | ||
+ | poo@is:/laborator g++ poo.cpp | ||
+ | poo@is:/laborator ls | ||
+ | poo.cpp a.out | ||
+ | </code> | ||
+ | Observam ca in urma compilarii am obtinut executabilul **a.out** deoarece nu i-am impus un nume, iar compilatorul i-a atribuit unul by default. Pentru a denumi sugestiv executabilul o sa folosim extensia **-o**. | ||
+ | <code bash> | ||
+ | poo@is:/laborator g++ poo.cpp -o main | ||
+ | poo@is:/laborator ls | ||
+ | poo.cpp main | ||
+ | </code> | ||
+ | == Rularea executabilului == | ||
+ | <code bash> | ||
+ | poo@is:/laborator g++ poo.cpp -o main | ||
+ | poo@is:/laborator ls | ||
+ | poo.cpp main | ||
+ | poo@is:/laborator ./main | ||
+ | Hello world of OOP! | ||
+ | Hello world of OOP! | ||
+ | Hello world of OOP! | ||
+ | poo@is:/laborator | ||
+ | </code> | ||
+ | <note important>Daca avem de compilat mai multe programe, procedam astfel: | ||
+ | |||
+ | //g++ program1.cpp program2.cpp program3.cpp program4.cpp -o main// | ||
+ | |||
+ | In cazul in care lucram cu fisiere de input/output, acestea trebuie introduse ca argumente in linia de comanda delimitate de cate un spatiu. | ||
+ | |||
+ | //./main [nume_fisier1] [nume_fisier2] [nume_fisier3]//</note> | ||
+ |