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.