clean:
rm -f solver *.o
która usmiie plik wynikowy, pliki obiektów i pliki zapasowe po wywołaniu make clean. Łącznie nasz plik wygląda następująco
TARGET = solver
OBJS = solver.o methods.o
GCC = g++
FLAGS = -Wall
# No need to change anything below
$(TARGET): $(0BJS)
$(GCC) $(FLAGS) -o $@ $(0BJS)
°/„.o: l. cpp
$(GCC) $(FLAGS) -c $< clean:
rm _f *.0 $(TARGET)
aby użyć tego samego pliku makef ile do innego projektu, należy jedynie zmienić nazwę pliku wynikowego TARGET oraz listę obiektów OBJS.
| Zadanie 2 |
Napisać Makef ile do zadania 1. Rozbić pliki źródłowe na dwie jednostki f actorial. * oraz exp_taylor. *. Zacząć od wersji bezpośredniej, a następnie, posiłkując się regułami, stworzyć wersję ogólną.
Pisanie programów jest nierozerwalnie związane z poprawianiem błędów. Mogą to być błędy składni, które w większości, choć nie wszystkie, zostaną wychwycone przez kompilator, oraz błędy logiczne, które wynikają z niepoprawnego zaimplementowania algorytmu lub błędnej metody rozwiązania problemu.
Niewychwycony przez kompilator błąd prowadzi do niepoprawnych wyników, niekończących się pętli lub przerwania działania programu na skutek niedozwolonych operacji. Najczęściej pojawiające się na zajęciach problemy będą dotyczyły dzielenia przez zero lub odwoływanie się do elementów spoza rozmiaru tablicy (wektora).
Błędy w kodzie nazywane są w języku angielskim “bugs” (robaki). Nazwa ta funkcjonowała na długo przed powstaniem komputerów i była używana przez inżynierów i wynalazców na małe problemy i wady. Często przytaczaną etymologią jest fakt odkrycia w jednym z pierwszych komputerów (działających na zasadzie elektromechanicznej) martwej ćmy ukrytej w przekaźniku elektrycznym, która powodowała błędne działanie maszyny (Rys. 1). Oczywiście ta sytuacja miała charakter żartu inżynierów pracujących z komputerem, którzy znali określenie “robak” wcześniej.
19