Część IV - Win32 API i biblioteki DLL
Transkrypt
Część IV - Win32 API i biblioteki DLL
Programowanie na poziome sprzętu – opracowanie pytań Część IV - Win32 API i biblioteki DLL Autor opracowania: Marcin Skiba [email protected] 1. Co oznacza termin „Windows API”? Windows Application Programmers Interface. Specyfikacja szeregu narzędzi interfejsu, które są dostępne dla programistów tworzącego aplikacje pod systemem Windows. Swoista dokumentacja. 2. Z ilu funkcji musi składać się aplikacja w systemie Windows wyświetlająca jedno okno? Dwóch – funkcji głównej i funkcji obsługi komunikatów okna. Dla dwóch okien dochodzi jedna funkcja obsługi komunikatów. Itd... 3. Jakie są zadania funkcji głównej aplikacji „okienkowej”. Przygotowanie okna głównego do pracy w systemie. 4. W jaki sposób definiuje się zasoby aplikacji w systemie Windows? Za pomocą specjalnego języka skryptowego stworzonego na potrzeby definicji zasobów aplikacji. Odpowiedni kod należy umieścić w pliku zasobów. Składnia takiego pliku jest z góry ustalona i składa się z definicji używanych zasobów. Składnia definicji też jest ustalona. 5. Przy pomocy jakich mechanizmów systemu Windows aplikacja ma możliwość reakcji na działania użytkownika wchodzącego w interapogkcję ze środowiskiem graficznym? Przy pomocy komunikatów, które przekazywane są do funkcji MainWndProc , która musi być zdefiniowana w przypadku aplikacji okienkowej. Funkcja ta sprawdza typ komunikatu i jeżeli trzeba – odpowiednio reaguje. 6. Co oznacza termin „kontekst urządzenia” i jaka jest jego rola w systemie Windows? Kontekst urządzenia to pośrednik między aplikacją a urządzeniem graficznym (monitor, ploter itp.). Dzięki temu mam mamy pewność, że nasz program będzie działał prawidłowo na każdym zestawie, nawet wyposażonym w inną kartę graficzną, monitor czy drukarkę. Dzięki wprowadzeniu kontekstu urządzenia możliwe stał się ujednolicenie funkcji graficznych zawartych w API. 7. Jakie są sposoby korzystania z bibliotek DLL przez aplikacje w systemie Windows? Statyczny i dynamiczny, z czego dynamicznie na dwa sposoby: biblioteka może być ładowana do pamięci razem ze startem programu lub w momencie, gdy jakaś jej procedura jest niezbędna dla aplikacji. 8. Czy kod wynikowy biblioteki DLL można dołączyć do pliku wykonywalnego aplikacji? Tak. 9. Ile kopii kodu wynikowego biblioteki DLL znajduje się w pamięci operacyjnej gdy z jej funkcji korzysta w danym momencie pięć aplikacji? Jedna. 10. Czy program wykonywalny zapisany w formacie PE może być uruchomiony w systemie MS-DOS bez ryzyka zawieszenia systemu? Uzasadnij odpowiedź. Tak. Nagłówki programu w formacie PE zawierają informacje dotyczące docelowej platformy, typu procesora na który przeznaczony jest program czy też minimalnej pamięci wymaganej do uruchomienia programu. Dzięki temu program nie jest w stanie spowodować zawieszenia systemu. 11. Jakie obiekty systemowe może przechowywać aplikacja zapisana w formacie PE. • Program MS-DOS . • Nagłówek pliku . • Nagłówek opcjonalny . • Dane katalogów . • Dane sekcji . • • • • • Sekcje (kilka). Symbole eksportowane. Symbole importowane. Zasoby (okna dialogowe, menu itp.). Tablica relokacji.