[Powered by Google Translate] NATE Hardison: W programowaniu biblioteki jest biblioteka
related prewritten kod.
Biblioteki są jak my, jako programiści, akcje wspólne i
jako kod z sobą, z różnych programów, że
pisać, a nawet z różnych procesów pracuje na
w tym samym czasie na naszych komputerach.
>> Przyjrzyjmy się nieco.
Jednym z bardziej popularnych funkcji, które na pewno nie
był używany jest funkcja printf.
Teraz, nie jest jakaś magia printf funkcja już jest
zakodowana w komputerze -
raczej, że to część standardowych bibliotek C, które są
zbiór funkcji, który pochodzi z
Język programowania C.
Ponieważ nie jest zbudowany printf do komputera, co oznacza, że
było trochę programista, który rzeczywiście udał się i napisał
printf funkcja i dołączony go z resztą średnia
biblioteki, aby przyszłe programiści nie musiałyby
powielania wysiłków.
I jesteśmy pewni, wdzięczny, że tak jest, bo sprawdzić
się, ile faktycznie ma kod do wdrożenia printf.
>> W C Biblioteki Standard, z których printf jest częścią, są
jednym z najważniejszych narzędzi można
mają w walce CS50.
Oprócz wejścia-wyjścia biblioteki, w której
printf żyje, istnieje kilka innych bibliotek
prawdopodobnie będziesz używać w ciągu CS50.
Na przykład, w bibliotece ciąg zawiera funkcje
porównywania łańcuchów C, aby ich długość i złączyć je.
I biblioteka matematyczna daje przydatne
stałe, jak i mailowo. pi
Teraz, w porównaniu do innych standardowych bibliotek programowania
języki, C Biblioteki standardowe są bardzo małe,
ale wciąż mają znaczną ilość rzeczy.
I to nie znaczy, że standard Biblioteki są
Tylko C bibliotek, istnieje wiele więcej tam w
świat do użycia, w tym CS50 Bibliotece
Biblioteki kartografia z szyfrowania i deszyfrowania
funkcje biblioteki z funkcjami kodowania i
odtwarzanie wideo, i tak dalej.
>> To prowadzi nas do ważne bok.
Jedną z podstawowych umiejętności inżynierii jest wiedzieć
narzędzia dostępne w przyborniku, aby można było używać
im i uniknąć wyważania otwartych drzwi, chyba
trzeba zrobić.
Jako programiści, biblioteki są jednym z najważniejszych
narzędzia mamy.
Kiedy znajdziesz się w obliczu zadania, które wydaje się uciążliwe lub
powszechne, jak znalezienie długość łańcucha C, to
Należy zadać sobie pytanie, czy to może być tak, że
ktoś już zrobił to samo przed.
Są szanse, że można znaleźć kilka
pomoc w bibliotece.
>> Tak pod względem technicznym, biblioteka jest plik binarny, który
został wytworzony przez połączenie ze sobą zbiór
Pliki obiektów przy użyciu narzędzia, można
Zgadłeś, linker.
Pliki wynikowe są te pliki. O które dostajesz, kiedy
skompilować kod źródłowy C.
Kiedy programiści piszą bibliotek, są one zazwyczaj
oddzielić swój kod C do dwóch typów plików:
pliki nagłówkowe i pliki wdrożeniowe.
Plik nagłówkowy umownie otrzymuje. Rozszerzenie h,
i zawiera kod, który deklaruje biblioteki
zasoby, które są dostępne do użycia.
Zasoby te obejmują funkcje, zmienne, kodowanym
definicje typów, i tak dalej, i razem są
powszechnie określane jako interfejs.
W rzeczywistości, jeśli kiedykolwiek zastanawiasz się, co znajduje się w bibliotece,
pliki nagłówkowe są miejscem do poszukiwania.
>> Na przykład, można podciągnąć usr / include / stdio.h i sprawdzić
z wszystkiego, co kiedykolwiek chciałeś wiedzieć o
Standardowa biblioteka IO.
Jest wiele rzeczy w tutaj, a to może zająć trochę
Czas przebrnąć.
Jednakże, wraz ze Google i manpages, to
miejsce, jeśli zastanawiasz się, jak standard I / O
Funkcje biblioteczne działają.
Tak więc jednym z kluczowych Warto zauważyć tutaj, choć to, że pliki nagłówkowe
zazwyczaj nie zawierają definicji funkcji -
to jest rzeczywiste implementacji funkcji.
Jest to ilustracja ważnej informatyki
Zasada nazywa ukrywania informacji, także o którym mowa w
razy hermetyzacji.
>> Jako użytkownik lub klient z biblioteki, nie muszą
wiedzieć o wewnętrznych biblioteki w
aby z niego skorzystać.
Pamiętam printf tylko nieco temu?
Gdybyś widział rzeczywisty kod wcześniej?
Cóż, przypuszczam, że nie masz, nawet jeśli może to
skorzystało printf mnóstwo razy.
Wszystko, co musiał wiedzieć był obecny deklaracja funkcji
w pliku nagłówkowym stdio.h.
Anyway, korzyści z dobrego ukrywania informacji jest to, że
a programy piszesz są izolowane od wszelkich zmian w
Kod z wykonania funkcji bibliotecznych.
Jeśli realizacja printf zmian, nie trzeba
iść i zmienić wszystkie programy, które korzystają z printf.
>> Więc skąd realizacja iść?
Cóż, znowu, zgodnie z konwencją, realizacja idzie w
Plik z rozszerzeniem. c pliku.
Zazwyczaj, pliki nagłówkowe i pliki wdrożeniowe iść
w ręku, więc jeśli zadeklarował kilka nowego łańcucha
funkcje w MyString.h, wtedy zdefiniować wszystkie
te funkcje w mystring. c.
Tak więc nagłówek i wdrożenie pliki są następnie
kompilowane, tworzenie plików wynikowych, które następnie są połączone
razem, by produkować plik biblioteki binarnego.
Pisarz biblioteka będzie wysłać plik binarny wzdłuż
z plików nagłówkowych do programistów, którzy chcą korzystać z
biblioteka.
W tym momencie, że pliki. C jego stosowanie
potrzebne, za wyjątkiem rekompilacji biblioteki od podstaw, więc
oni często opuszczone.
>> Do korzystania z biblioteki C, musisz zrobić dwie rzeczy.
Po pierwsze, należy # include biblioteczne pliki nagłówkowe oraz
kodu źródłowego, w którym chcesz używać
Biblioteki code.
Informuje to kompilator wszystkich deklaracji
funkcje, zmienne, elemencie, et cetera, obecne w
tak że pliki nagłówkowe kompilator można, mieć pewność, że
używasz biblioteczne zasoby w sposób właściwy,
a dwa, wygenerować odpowiedni kod montażu.
W zależności od miejsca Biblioteki pliki nagłówkowe są
położony, # include składnia różna.
Jeśli pliki nagłówkowe znajdują się w systemowym
domyślna to katalog -
zazwyczaj usr/include--
wtedy kąt składni wsporniki, używany jest w # to
.
Jednakże, jeśli pliki nagłówkowe znajdują się w tym samym
katalogu jako własnego kodu, podwójne składnia cytat
używane, jak w # "to" mylib.h.
>> Drugą rzeczą jaką musisz zrobić, to połączyć w binarnym
plik biblioteki podczas kompilacji kodu.
Jest to bardzo ważny etap.
Pamiętasz naszą wcześniejszą dyskusję o tym, jak nagłówek
pliki nie zawierają kod realizacji?
Jeśli zapomnisz ten krok, dostaniesz błędy o
niezdefiniowane symbole odwoływać w kodzie.
Aby rozwiązać ten problem, należy użyć-l flag a zaraz
bez przestrzeni przez nazwy biblioteki.
W wielu systemach, w tym urządzenia, C standardowa
Biblioteki są automatycznie połączone dla Ciebie.
Jednak biblioteka matematyczna jest czasem dołączane osobno
a może powinny być powiązane z-lm.
Na urządzeniu, dbamy o to dla ciebie, a także
powiązać CS50 bibliotekę-lcs50.
Możesz zobaczyć to wszystko na urządzeniu podczas uruchamiania make.
>> Teraz powinieneś mieć wiedzę potrzebną do korzystania
bibliotek w C Baw zwiedzania.
Nazywam się Nate Hardison i to CS50.