Języki Programowania 8From MJanik(Difference between revisions)
Latest revision as of 10:08, 21 November 2025W ramach przygotowania do zadania możesz:
Przykład wywołania programu: ./programLiczby 10 Przykładowy efekt: 4 39 58 67 85 2 33 44 7 83
Makefile Czym jest Makefile?
Makefile to plik konfiguracyjny używany przez narzędzie Po co stosować Makefile? * Automatyzuje budowę programu (kompilacja, linkowanie, czyszczenie plików pośrednich).
* Skraca czas — kompilowane są tylko pliki, które zostały zmodyfikowane.
* Upraszcza pracę w dużych projektach z wieloma plikami źródłowymi.
* Pozwala definiować własne cele (targets), np.
Najczęstsze elementy Makefile * *Cel (target)* – nazwa zadania, np. Przykładowy Makefile CXX=g++ CXXFLAGS=-Wall -O2 main: main.o utils.o $(CXX) $(CXXFLAGS) main.o utils.o -o main main.o: main.cpp utils.hpp utils.o: utils.cpp utils.hpp clean: rm -f *.o main
* Gdy projekt składa się z więcej niż jednego pliku źródłowego. * Gdy chcesz mieć powtarzalny i automatyczny proces budowania. * Gdy potrzebujesz wygodnego sposobu zarządzania kompilacją i plikami pośrednimi. Podsumowanie Makefile jest prostym, ale bardzo skutecznym narzędziem umożliwiającym automatyzację kompilacji w projektach C/C++. Ułatwia zarządzanie kodem, oszczędza czas i pozwala utrzymać porządek w projekcie.
Kontener STL Czym jest Najważniejsze cechy * Elementy są przechowywane w kolejności dodania. * Rozmiar może się zmieniać w trakcie działania programu. * Zapewnia dostęp za pomocą operatora Najczęściej używane metody * Przykład użycia #include <vector>
#include <iostream>
int main() {
std::vector<int> liczby;
liczby.push_back(10);
liczby.push_back(20);
liczby.push_back(30);
for (size_t i = 0; i < liczby.size(); i++) {
std::cout << liczby[i] << std::endl;
}
return 0; } Kiedy używać * Gdy potrzebujesz dynamicznej tablicy. * Gdy kluczowy jest szybki dostęp do elementów. * Gdy dane często dodajesz na końcu kontenera. * Gdy zależy Ci na prostocie i efektywności. Podsumowanie
Parametry wywołania programu (zmiany w deklaracji funkcji main): int main(int argc, char **argv){
}
Gdzie: argc - liczba parametrów, z którymi został wywołany program **argv - tablica parametrów (każdy jako char*): argv[0] - nazwa programu argv[1], argv[2]... - kolejne parametry wywołania programu Np. wywołanie programu program mogło by mieć formę: ./program Ala 3 Wtedy: //argc == 4 //argv[0] == "program" //argv[1] == "Ala" //argv[2] == "3" || zmiana ”3” na 3 (liczbę) – funkcja atoi. np int a = atoi(”3”); z biblioteka: <stdlib.h> Przyporządkowanie tych parametrów wykonuje się samoistnie w momencie wywołania programu, jedynym wkładem programisty jest zadeklarowanie funkcji main w formie int main(int argc, char **argv) | |||||||||||||||||||||||||||||