168 TIF

168 TIF



nakże zachować w wypadku funkcji działających na napisach, które mają zwyczaj przechodzenia wzdłuż napisu w poszukiwaniu kończącego znaku pustego.

We fragmencie „Przed” konkatenujemy dwa napisy. Kod wygląda przy tym bardzo niewinnie. Ale funkcja strcat przed konkatenowaniem napisu źródłowego przechodzi przez cały napis docelowy w celu znalezienia jego końca. Ponieważ już znamy długość napisu (przynajmniej w tym przykładzie), to przechodzenie przez cały napis docelowy jest stratą czasu. W kodzie poprawionym unikamy tej czynności przechodząc do końca napisu za pomocą wskaźników. Wówczas wykonujemy funkcję strcpy.

Przykład: String::Append() w pliku String.cpp

129


Unikanie biblioteki CRT

pisanie szybkiego kodu

Biblioteka C Runtime (CRT) jest zbiorem często stosowanych funkcji używanych przez większość programów. Zawiera kod uruchamiający program, jak również wiele innych funkcji. Poza tym zajmuje w naszych programach mnóstwo miejsca. Jeśli zależy nam na zmniejszeniu rozmiaru kodu, to możemy napisać własny kod uruchamiający, a także odtworzyć te funkcje CRT, które są nam potrzebne.

130


Funkcje wbudowane są szybsze niż funkcje CRT

pisanie szybkiego kodu

Kod źródłowy

#pragma intrinsic(sin, cos)

double Tryg::DblSinusWbud(double dbIKąt)

{

return sin(dblKąt);

}

Procesor Pentium ma wiele wydajnych funkcji wbudowanych sprzętowo. Na przykład ma różne funkcje trygonometryczne w postaci instrukcji działających na typach zmiennopozycyjnych.

Biblioteka CRT zawiera wersję programową tych funkcji przeznaczoną dla komputerów bez koprocesora zmiennopozycyjnego.

Wywołanie wbudowanej funkcji jest szybsze, chociaż powoduje wygenerowanie kodu działającego tylko na niektórych typach komputerów, takich jak Pentium i nowsze modele. Użycie funkcji wbudowanych pozwala również na zmniejszenie rozmiaru wygenerowanego kodu, ponieważ nie powoduje dołączenia całej masy kodu z biblio-


Wyszukiwarka

Podobne podstrony:
049 TIF Wszystkie funkcje działające na napisach zakładają, że napis będzie zakończony znakiem pusty
049 TIF Wszystkie funkcje działające na napisach zakładają, że napis będzie zakończony znakiem pusty
049 TIF Wszystkie funkcje działające na napisach zakładają, że napis będzie zakończony znakiem pusty
Wszystkie funkcje działające na napisach zakładają, że napis będzie zakończony znakiem pustym. Probl
130ROZDZIAŁ 18. NAPISY printf("Xs", tekst); Większość funkcji działających na napisach
Energia kinetyczna cząstki F - wypadkowa sił działających na cząstkę mv = F
Ten sam wynik mogłem uzyskać szybciej, rozpatrując wypadkową siłę działającą na cały układ
ScanImage004 ! ą Duifrt TYtioPyiA Funkcje działające na datachFunkcja NEXT_DAYNEXT_DAY(da tal, dzień
ScanImage005 Funkcje działające na datach Do dat można też stosować wcześniej omówione funkcje zaokr
23(2) Ten sam wynik mogłem uzyskać szybciej, rozpatrując wypadkową siłę działającą na cały układ
IMG 74 OCENA DOSTAWCO To operacyjne działania prowadzone systematycznie, które mają na celu ocenę&n
DSC00075 (27) Podmiot działający na rynku spożywczym jest obowiązany przechowywać w aktach osobowych
c) Rys 15.10. a) Woda otaczająca pewien obszar w jej wnętrzu działa na ciało, które w tym obszarze u
P1010063 WNIOSEK. Każdą siłę działającą na ciało sztywne można przesunąć dowolnie wzdłuż jej li

więcej podobnych podstron