Witam i witam ponownie.
W tym wykładzie chcę porozmawiać niektóre funkcje narzędziowe, które są
udostępniane przez standardową bibliotekę c.
A te robią dokładnie to, co Ty pomyślałby
tylko o niektórych narzędziach, niektórych ogólnych funkcjach robić różne rzeczy.
Aby skorzystać z funkcji narzędziowych, zwykle znajdują się w standardowej bibliotece. godz.
Więc dołączasz ten plik nagłówkowy.
Niektóre funkcje, którymi się zajmuję opisywać tylko przydatne funkcje.
Jedną z nich jest wartość bezwzględna abs.
Zwraca wartość bezwzględną wartość argumentu.
Wartość bezwzględna to przekształcając go w pozytywny.
Więc jeśli przejdziesz negatywnie lub tak dalej,
zwróci wartość dodatnią.
Jest funkcja zwana exit.
Trochę tego używałem w naszej głównej funkcji.
Zajmie to liczbę całkowitą, zwykle a zwracana wartość i zwykle
liczba ujemna oznacza, że wystąpił błąd liczba dodatnia lub zero oznacza brak błędu
lub jeden oznacza brak błędu.
To się zakończy jednak program.
Po prostu wyskoczy.
Jeśli pełnisz główną funkcję, robisz powrót, możesz wrócić
z głównej funkcji.
Ale wyjście jest zwykle zamknąć program.
Jest też kilka stałych zdefiniowane, takie jak sukces wyjścia
i niepowodzenie wyjścia, których możesz użyć, jeśli nie chcesz używać liczb.
Inne powiązane procedury w Biblioteka, do której możesz
chcieć się odwołać, jest ważna przy wyjściu.
I zobaczysz to w całkiem niezłym program bit c, zwłaszcza przerwać.
Przerwij, gdy jest jakiś rodzaj błędu, na przykład jeśli nie możesz malloc,
możesz zadzwonić do abort, i możesz ustawić go na sygnał.
Dobra rzecz z przerwaniem czy wygeneruje plik
core w zależności od sygnału.
Można pomóc w pliku podstawowym debugowania w celu uzyskania dalszych informacji.
Ale wyjdź, przerwij i wyjdź bardzo przydatne funkcje, zwykle wywoływane w przypadku
wystąpienia błędu krytycznego.
Jest środowisko get funkcja, która pozwoli ci odczytać
zmienne środowiskowe.
Zmienne środowiskowe są zwykle związane z Twoim środowiskiem.
To zmienna, którą ty można użyć,
jest to coś w rodzaju zmiennej globalnej, której możesz użyć w dowolnym miejscu systemu operacyjnego.
Więc jeśli to Linux, masz plik zmienna środowiskowa dla twojej ścieżki.
W programie są zmienne środowiskowe windows do określenia ścieżek lub lokalizacji
różnych programów lub tylko ogólne zmienne globalne.
Możesz ustawić zmienną środowiskową a następnie możesz go przeczytać za
pomocą funkcji get environment.
I w tym przeczyta zmienną środowiskową i możesz jej użyć
w swoim programie.
Więc znowu rzeczy takie jak cokolwiek na ścieżce które są związane z
Twoją powłoką lub ze środowiskiem.
Uzyskaj środowisko jest bardzo przydatne.
Jest funkcja qsort.
To posortuje tablicę danych wskazywany przez tablicę void pointer.
Więc jest to tablica wzięty jako pierwszy parametr i
będzie go sortował.
Będzie n elementów w tablica, każdy rozmiar skraca długość.
A n i rozmiar są typu t.
Mamy więc cztery zmienne które idą do tej funkcji.
Ale qsort jest fajny, ponieważ możesz posortować tablicę.
Czwarty argument to wskaźnik do funkcji, której chcesz
użyć do sortowania.
Więc może się to skomplikować.
Ale ta funkcja jest bardzo przydatne, gdy trzeba porównać
dwa elementy w tablicy.
Możesz przekazać wskaźniki do elementów, z którymi
chcesz porównać.
Mamy funkcję losową.
Używamy tego w jednym z nasze wyzwania rand.
Spowoduje to wygenerowanie liczby losowej.
Jeśli chcesz, możesz określić ziarno w innej funkcji
lub po prostu wygeneruje liczbę losową między minimalna wartość 3276 i minimalna wartość
zero losowo, maksymalna wartość 3276.
Tak więc rand max jest zdefiniowany w standardowym lib. godz.
Będziesz często używać tego z sranem funkcja, która dostarcza ziarno.
Ziarno może zapewnić pewien zakres.
To stworzy liczby może też bardziej losowo.
Więc wysiewa liczbę losową generator do unsigned int.
System to funkcja, którą możesz invoke, aby wykonać wywołania systemowe.
Użyłem go na zajęciach, żeby zrobić pauzę.
Ale wszystko, co możesz uciec od konsoli, jak zmiana katalogów,
zmiana uprawnień, jeśli jesteś włączony Linux, wykonując inne programy, możesz to wszystko
zrobić za pośrednictwem systemu.
I tak właśnie będzie uruchom polecenie w powłoce, niezależnie od tego, czy
jest to zachęta dos, czy używasz powłoki w systemie Linux.
Uruchomi to polecenie.
Na przykład możesz powiedzieć system make dir i utworzy katalog o
czymkolwiek podałeś w sporze o zrobienie reż.
To wszystko jest wewnątrz podwójne cudzysłowy, więc przyjmuje ciąg.
System jest również bardzo, bardzo przydatny.
Biblioteka assert to przydatne do debugowania.
Nie mieliśmy okazji porozmawiać dużo o asercie, ale chciałem
krótko o tym wspomnieć.
To pewna biblioteka. godz i pomaga w debugowaniu.
Tak więc twierdzenie oznacza, że coś jest prawdą.
Możesz więc umieścić assert w środku Twój kod, aby upewnić się, że
coś jest prawdą przejdź do następnej linii kodu.
Jest to makro asertujące masz zamiar użyć i wymaga argumentu,
takiego jak wyrażenie wewnętrzne.
Jeśli wynikiem wyrażenia jest false, makro assert zapisuje komunikat o błędzie
do standardowego błędu stream i wywołuje funkcję abort.
Więc twój programista się kończy.
Więc możesz coś włożyć w twoim kodzie, który zasadniczo
mówi coś takiego.
Możesz powiedzieć, że z jest równe x razy x minus x razy y.
A potem możesz stwierdzić, że z jest większe lub równe zero.
Jeśli to zwróci wartość false, twój program ma zamiar wyjść.
W przeciwnym razie zostanie wykonana następny wiersz kodu.
Więc to tak, jakby się spełniło założenia w całym kodzie.
Chcesz się upewnić pewne wartości są tym, czym są,
zanim przejdziesz do następnej.
To w istocie upewniając się, że nie jesteś jak dzielenie przez zero,
tam nie masz wartości zerowej kiedy zrobiłeś to pomnożenie.
Często zobaczysz asercję w środku programów w C do debugowania.
Inne przydatne pliki nagłówkowe, które warto przyjrzeć się: czasowi. godz.
Czas. h ma wiele różnych funkcje i makra do obsługi
różnych dat i godzin.
Zwykle zwracanie time t struct.
Ale możesz dostać datę.
Możesz mieć czas.
Errno. h lub numer błędu. godz.
To definiuje makra dla zgłaszanie błędów.
Często używany ponownie dla lepsze debugowanie i raportowanie
określonych błędów.
Więc wiele funkcji używać w standardowych bibliotekach.
Jeśli się nie uda, mogą zwrócić liczbę dla konkretnego błędu i jest to ważniejsze, gdy używasz
jakiegoś gniazda spełnia inne funkcje, ponieważ może wystąpić
wiele różnych błędów.
Czasami warto wiedzieć co się dzieje,
a nie tylko powiedzieć, że jest błąd, nie jest bardzo pomocne jest stwierdzenie,
że określony typ błędu jest bardzo przydatny.
Możesz więc uzyskać numery błędów używanie tego z pomocą
w dalszym debugowaniu.
Widownia. godz.
Jest kilka funkcji i makra w
tym nagłówku do formatowania różnych plików waluty i jednostki monetarne.
Sygnał. godz.
Zwykle jest to przydatne do zakończenia programu generującego
różne sygnały.
Sygnały nie jest tematem, którym się zajmujemy bardzo szczegółowo,
ale może to być przydatne, gdy wywołujesz przerwanie określania określone sygnały, gdy program się
zawiesił lub zakończył działanie.
Możesz ich użyć, jeśli ty zrozumieć sygnały, możesz ich również użyć
w swoim pliku core.
Stdarg. godz.
To definiuje różne udogodnienia włącz zmienną liczbę argumentów, które
mają być przekazywane do funkcji, varargs.
Używamy vargs i printf, ale tego nie robiliśmy stworzyć własne funkcje arg.
To bardziej zaawansowany temat.
Ale to są podstawowe pliki nagłówkowe które mogą okazać się przydatne do uzyskiwania czasów,
numerów błędów i tak dalej.
To są dobre funkcje użytkowe.
Mam więc nadzieję, że to było pomocne.
Dziękuję Ci.