jak-pisac-przenosny-kod.-wstep-do-programowania-wieloplatformowego scan.pdf

(4458 KB) Pobierz
1342277227.001.png
Dołączaj testowanie .............................................................................................................. 50
Używaj opcji kompilacji ......................................................................................................... 52
Oddziel pliki zależne od platformy od plików przenośnych .................................................. 55
Pisz prosty kod ...................................................................................................................... 55
Używaj unikalnych nazw ........................................................................................................ 56
Implementuj abstrakcje .........................................................................................................58
Programowanie niskopoziomowe ......................................................................................... 74
4
EDYCJA I KONTROLA PLIKÓW ŹRÓDŁOWYCH ........................................81
Różnice w znacznikach końca linii plików tekstowych .......................................................... 82
Przenośne nazwy plików ....................................................................................................... 83
Kontrola plików źródłowych ................................................................................................. 84
Narzędzia do budowania ....................................................................................................... 89
Edytory .................................................................................................................................. 95
Podsumowanie ...................................................................................................................... 95
5
RÓŻNICE POMIĘDZY PROCESORAMI .......................................................97
Wyrównanie .......................................................................................................................... 98
Uporządkowanie bajtów ..................................................................................................... 101
Reprezentacja liczb całkowitych ze znakiem ....................................................................... 108
Rozmiar typów macierzystych ............................................................................................. 108
Przestrzeń adresowa ........................................................................................................... 111
Podsumowanie .................................................................................................................... 112
6
OPERACJE ZMIENNOPRZECINKOWE ......................................................113
Historia liczb zmiennoprzecinkowych ................................................................................. 113
Standardowa obsługa liczb zmiennoprzecinkowych w C i C++ ....................................... 114
Problemy z liczbami zmiennoprzecinkowymi ..................................................................... 115
Obliczenia na liczbach stałoprzecinkowych ......................................................................... 119
Przedstawianie bitowej reprezentacji liczby zmiennoprzecinkowej jako liczby całkowitej 120
Odpytywanie implementacji ................................................................................................ 124
Wyniki powodujące wyjątki ................................................................................................. 126
Formaty przechowywania ................................................................................................... 129
Podsumowanie .................................................................................................................... 130
7
PREPROCESOR ........................................................................................131
Symbole predefiniowane ..................................................................................................... 132
Pliki nagłówkowe ................................................................................................................. 133
Makropolecenia konfiguracyjne ........................................................................................... 136
Kompilacja warunkowa ....................................................................................................... 137
Instrukcja pragma ................................................................................................................ 138
Podsumowanie .................................................................................................................... 139
6
Spis treści
8
KOMPILATORY ....................................................................................... 141
Rozmiar struktury, upakowanie i wyrównanie .....................................................................142
Niespójności w zarządzaniu pamięcią ..................................................................................145
Stos .......................................................................................................................................146
Funkcja printf .......................................................................................................................148
Rozmiary i zachowanie typów .............................................................................................149
Konwencje wywołań ............................................................................................................156
Zwracanie struktur ...............................................................................................................160
Pola bitowe ..........................................................................................................................161
Komentarze ..........................................................................................................................162
Podsumowanie .....................................................................................................................163
9
INTERFEJS UŻYTKOWNIKA ................................................................... 165
Rozwój interfejsów użytkownika .........................................................................................166
Macierzysty interfejs GUI czy interfejs aplikacji? ..................................................................168
Grafika niskopoziomowa ......................................................................................................168
Obsługa dźwięku ..................................................................................................................169
Urządzenia wejściowe .........................................................................................................170
Narzędzia międzyplatformowe ............................................................................................171
Podsumowanie .....................................................................................................................171
10
OBSŁUGA SIECI ....................................................................................... 173
Rozwój protokołów sieciowych ...........................................................................................173
Interfejsy programistyczne ...................................................................................................174
Podsumowanie .....................................................................................................................178
11
SYSTEMY OPERACYJNE .......................................................................... 179
Rozwój systemów operacyjnych ..........................................................................................179
Środowiska goszczące i wolno stojące .................................................................................180
Paradoks przenośności systemu operacyjnego ....................................................................181
Pamięć ..................................................................................................................................182
Procesy i wątki .....................................................................................................................184
Zmienne środowiskowe ......................................................................................................190
Obsługa wyjątków ................................................................................................................192
Przechowywanie danych użytkownika .................................................................................193
Bezpieczeństwo i uprawnienia .............................................................................................196
Podsumowanie .....................................................................................................................198
Spis treści
7
12
BIBLIOTEKI DYNAMICZNE .....................................................................199
Dynamiczne konsolidowanie ............................................................................................... 200
Ładowanie dynamiczne ....................................................................................................... 200
Problemy z bibliotekami współużytkowanymi .................................................................... 201
Gnu LGPL ............................................................................................................................ 203
Biblioteki DLL w Windows .................................................................................................. 204
Obiekty współużytkowane w Linuksie ................................................................................ 207
Szkielety, wtyczki i pakiety w systemie Mac OS X .............................................................. 209
Podsumowanie .................................................................................................................... 212
13
SYSTEMY PLIKÓW ...................................................................................213
Dowiązania symboliczne, skróty i synonimy ....................................................................... 214
Specyfikacja ścieżki .............................................................................................................. 215
Bezpieczeństwo i prawa dostępu ........................................................................................ 217
Osobliwości w Macintoshu .................................................................................................. 219
Atrybuty plików ................................................................................................................... 220
Katalogi specjalne ................................................................................................................ 220
Obróbka tekstu ................................................................................................................... 220
Biblioteka uruchomieniowa C i przenośny dostęp do plików ............................................. 221
Podsumowanie .................................................................................................................... 222
14
SKALOWALNOŚĆ .....................................................................................223
Lepsze algorytmy to większa skalowalność ......................................................................... 223
Skalowalność ma swoje granice ........................................................................................... 225
Podsumowanie .................................................................................................................... 226
15
PRZENOŚNOŚĆ I DANE ...........................................................................227
Dane aplikacji i pliki zasobów .............................................................................................. 227
Tworzenie przenośnej grafiki .............................................................................................. 231
Tworzenie przenośnego dźwięku ....................................................................................... 232
Podsumowanie .................................................................................................................... 232
16
INTERNACJONALIZACJA I LOKALIZACJA ..............................................233
Łańcuchy i Unicode ............................................................................................................. 234
Waluta ................................................................................................................................. 235
Data i Czas .......................................................................................................................... 236
Elementy interfejsu .............................................................................................................. 237
Klawiatury ............................................................................................................................ 237
Podsumowanie .................................................................................................................... 237
8
Spis treści
17
JĘZYKI SKRYPTOWE ............................................................................... 239
Niektóre wady języków skryptowych .................................................................................240
JavaScript/ECMAScript .........................................................................................................241
Python ..................................................................................................................................242
Lua ........................................................................................................................................243
Ruby .....................................................................................................................................243
Podsumowanie .....................................................................................................................244
18
BIBLIOTEKI I NARZĘDZIA MIĘDZYPLATFORMOWE ............................. 245
Biblioteki ..............................................................................................................................246
Szkielety aplikacji ..................................................................................................................246
Podsumowanie .....................................................................................................................247
A
BIBLIOTEKA POSH ................................................................................. 249
Symbole predefiniowane w POSH .......................................................................................250
Typy o określonym rozmiarze w POSH ..............................................................................251
Funkcje i makropolecenia narzędziowe w POSH ...................................................................251
B
ZASADY STOSOWANE PODCZAS PISANIA PRZENOŚNEGO
OPROGRAMOWANIA ............................................................................. 255
BIBLIOGRAFIA ........................................................................................ 259
SKOROWIDZ ........................................................................................... 261
Spis treści
9
Zgłoś jeśli naruszono regulamin