Będące do niedawna nowością komputery 64-bitowe stają się powoli standardem i coraz więcej użytkowników chce korzystać z aplikacji 64-bitowych. Obecnie większość firm oferuje swoje programy w wersjach 32- i 64-bitowych, a klienci często postrzegają takie firmy jako nowoczesne i podążające za aktualnymi trendami w IT. Warto zatem przyjrzeć się temu tematowi, bo z jednej strony klienci oczekują aplikacji 64-bitowych, z drugiej strony warto sprawdzić jak 64-bitowość „ulepsza” aplikację i w jaki sposób przekompilować swoje aplikacje na tą platformę.
Sprawdźmy zatem u źródeł jak dokładnie jest z tą 64-bitowością?
„Komputer 64-bitowy może przetwarzać dwa razy więcej informacji niż komputer 32-bitowy i może mieć znacznie więcej pamięci o dostępie losowym (RAM). Dlatego komputer 64-bitowy jest dobrym rozwiązaniem w przypadku pracy z klipami wideo, przeszukiwania dużych baz danych lub korzystania z gier i innych programów wymagających złożonych obliczeń i dużej ilości pamięci. Jednak większość programów dobrze działa na komputerze 32-bitowym. Programy arkuszy kalkulacyjnych, przeglądarki sieci web i edytory tekstów będą uruchamiane z mniej więcej taką samą prędkością na komputerze 32-bitowym i 64-bitowym.”
http://windows.microsoft.com/pl-PL/windows-vista/32-bit-and-64-bit-Windows-frequently-asked-questions#
„Większość programów zaprojektowanych dla 32-bitowej wersji systemu Windows będzie działać w 64-bitowej wersji systemu Windows. Zasługującym na uwagę wyjątkiem jest wiele programów antywirusowych. Sterowniki urządzeń zaprojektowane dla 32-bitowej wersji systemu Windows nie działają na komputerach z 64-bitową wersją systemu Windows. Drukarka i inne urządzenia, dla których są dostępne tylko sterowniki 32-bitowe, nie będą działać poprawnie w 64-bitowej wersji systemu Windows.”
http://windows.microsoft.com/pl-PL/windows7/32-bit-and-64-bit-Windows-frequently-asked-questions#
Jak widać nie do końca jest tak, że aplikacje 64-bitowe są lepsze, czy też szybsze. Aplikacje 64-bitowe mogą wykorzystać więcej pamięci i w wielu zastosowaniach może mieć to istotne znaczenie, lecz z drugiej strony czy program bazodanowy, np. kadrowy potrzebuje więcej niż 4GB pamięci? Korzystanie z aplikacji 64 bitowych oraz 32-bitowych w trybie emulacji przy dużej ilości aplikacji, które dodatkowokorzystają z wspólnych bibliotek może spowodować spore zamieszanie z DLL-ami. Może to oznaczać kłopoty z uruchamianiem aplikacji tworząc nową odmianę starego problemu „DLL hell”. Stąd, na komputerze 64- bitowym preferowane jest uruchamianie aplikacji 64-bitowych jako „natywnych”.
Dlatego, ze względów wizerunkowych, wychodząc naprzeciw oczekiwaniom klientów, a także z powodu możliwości użycia większej ilości pamięci warto tworzyć aplikacje 64-bitowe. Sprawdźmy zatem w jaki sposób można je tworzyć.
Środowisko Delphi XE2 zawiera oprócz kompilatora 32-bitowego także 64-bitowy. Dzięki temu z jednego kodu możemy generować aplikacje dla 32- i 64- bitów za pomocą przełączenia platformy docelowej w oknie „Project Manager”
Nowo utworzone projekty z łatwością kompilują się pod obydwie wersje systemu operacyjnego. Jak wygląda sprawa z przeniesieniem projektów ze starszych wersji Delphi do XE2 i ich kompilacja dla 64-bitów?
Przeniesienie projektów nie powinno sprawiać trudności, ponieważ w środowisku XE2 nie zmieniły się typy danych, a jedynie pointer i właściwość TAG w obiektach mają obecnie 64 bity. Dodano także typy natywne np. NativInt, który podczas kompilacji dla 32 bitów staje się zwykłym Integer-em, a dla kompilacji 64-bitowej jest to Int64. Zmienne tekstowe pozostały bez zmian. Ponieważ drobnych modyfikacji jest więcej, a informacje najlepiej czerpać u źródła, zachęcam do lektury na stronach Embarcadero:
Nowości w Delphi XE2:
Informacje o kompilatorze 64-bitowym:
- http://docwiki.embarcadero.com/RADStudio/en/64-bit_Cross-Platform_Application_Development_for_Windows
- Prezentacja Davida Intersimone z CodeRage 6 „Introduction to 64-bit on Windows”