Udostępnij za pośrednictwem


Eksportowanie z systemu UNIX do Win32

Kiedy dokonywana jest migracja aplikacji z systemu UNIX do systemu Windows, istnieje kilka możliwości:

  • Przy użyciu bibliotek systemu UNIX do portu aplikacji z systemu UNIX do systemu Win32

  • Przenoszenie aplikacji z systemu UNIX do systemu Win32 natywnie

  • Uruchamianie aplikacji systemu UNIX w systemie Windows, przy użyciu podsystemu POSIX

Biblioteki systemu UNIX

Jedną z opcji systemu UNIX programiści zwykle zakłada, za pomocą zewnętrznych Uniksa bibliotek umożliwiają ich kompilacji kodu systemu UNIX jako wykonywalny Win32.Kilka handlowych (i co najmniej jedną publiczną) bibliotek to zrobić.Jest to opcja dla niektórych aplikacji.Zaletą tych przenoszenie bibliotek jest to zminimalizować początkowej tych działań.Główną wadą, dla produktu konkurencyjnego oprogramowania, jest, że macierzystego portu Win32 aplikacji zazwyczaj szybciej i będą mieć więcej funkcji.Może to być niewygodne dla aplikacji krok poza jego powłoki systemu UNIX, czy też konieczny do wykonywania wywołań systemu Win32, aby uzyskać więcej energii z systemu Windows.

Poniższa lista zawiera Microsoft i zasoby innych firm dla krajów wywozu i obsługę systemu UNIX migracji do środowiska Visual C++:

Przewodniki migracji systemu UNIX

Przewodnik dotyczący migracji aplikacji systemu UNIX niestandardowa zawiera pomocy technicznej kod migracji z systemu UNIX do środowiska systemu Win32.

https://go.microsoft.com/fwlink/?LinkId=95428

Przewodnik po programie Project dla migracji systemu Unix stanowi uzupełnienie przewodnik dotyczący migracji aplikacji systemu UNIX Custom poprzez zapewnienie wysokiego poziomu pomocy na migrowanie merytorycznych projektów z systemu UNIX do systemu Win32.Przewodnik doradza w kwestii do rozważenia na każdym etapie migracji projektu.Przewodnik można pobrać z:

https://go.microsoft.com/fwlink/?LinkId=20012

Microsoft Windows Services for UNIX (SFU)

Microsoft Windows Services dla systemu UNIX (SFU) zapewnia pełną gamę usług między platformami włączenia systemu Windows do istniejących środowisk opartych na systemie UNIX.Usługi dla systemu UNIX zawiera udostępniania plików, dostępu zdalnego i administracji, synchronizacji haseł, wspólnego zarządzania katalogami, wspólny zbiór narzędzi i powłoki.

Windows Services for UNIX

InteropSystems.com

http://www.interopsystems.com/

Strony trzeciej do przedsiębiorstwa świadczącego oprogramowanie obsługujące wiązała systemu UNIX do systemu Win32.

Zwiększenie wydajności C++ witryny sieci Web

http://Boost.sourceforge.NET/Regression-Logs/

http://Boost.sourceforge.NET/Boost-build2/

Przenoszenia aplikacji systemu UNIX bezpośrednio do systemu Win32

Inną możliwością jest przenoszenia aplikacji systemu UNIX bezpośrednio do systemu Win32.Za pomocą biblioteki ANSI C/C++ i komercyjnych bibliotek kompilator C, wiele tradycyjnego systemu, którego wywołań podnoszone przez aplikacje systemu UNIX jest dostępnych w aplikacjach systemu Win32.

Model danych wyjściowych stdio-aplikacji nie jest konieczne zmiany, od chwili konsoli Win32 API naśladować stdio modelu i wersji przekleństw istnieje konsoli użycia Win32 API.Aby uzyskać więcej informacji, zobacz SetConsoleCursorPosition.

Aplikacje oparte na gnieździe Berkeley muszą bardzo drobne zmiany do pracy jako aplikacjom systemu Win32.Interfejs Windows Sockets został zaprojektowany do przenoszenia z gniazdami BSD, przy minimalnych zmianach, które zostały wymienione w sekcjach wprowadzające specyfikacji WinSock.

System Windows obsługuje standardem DCE RPC, tak aby były łatwo można używać aplikacji opartych na RPC.Zobacz funkcji RPC.

Jest jednym z największych obszarów różnica w modelu procesu.UNIX ma rozwidlenia; Nie ma systemu Win32.W zależności od stosowania rozwidlenia i w kodzie bazowym Win32 ma dwa interfejsy API, które mogą być używane: CreateProcess i CreateThread.Aplikacji systemu UNIX, która rozwidlenia wielu kopii samego siebie można przerobione w systemie Win32 jest wiele procesów lub pojedynczym procesie z wielu wątków.Jeśli wiele procesów są używane, istnieje wiele metod IPC, który może służyć do komunikacji między procesami (i być może po to, aby zaktualizować kod i dane nowego procesu za podobne obiektu nadrzędnego, jeśli funkcje które rozwidlenia zapewnia jest potrzebny).Aby uzyskać więcej informacji o IPC, zobacz Komunikacji międzyprocesowej.

Windows i UNIX graficzny modele są bardzo różne.UNIX używa GUI systemu X Window, podczas gdy system Windows używa interfejsu GDI.Jednak podobnie jak w koncepcji, brak prostego mapowania interfejsu API X w interfejsie GDI API.Obsługa technologii OpenGL jest jednak dostępna dla migracji aplikacji opartych na systemie UNIX OpenGL.I istnieje X klientów i serwerów dla systemu Windows X.Zobacz Konteksty urządzenia informacji na temat interfejsu GDI.

Podstawowe aplikacji systemu UNIX, w tym wiele aplikacji CGI, powinien łatwo portu dla języka Visual C++ w systemie Windows.Funkcje, takie jak Otwórz, fopen, odczytać, zapisu i inne są dostępne w bibliotece uruchomieniowej języka Visual C++.Ponadto, istnieje mapowanie jeden do jednego między C API systemu UNIX i interfejsów API podsystemu Win32: Otwórz do CreateFile, odczytać do ReadFile, zapisu do WriteFile, ioctl do DeviceIOControl, zamknąć do CloseFilei tak dalej.

Podsystemu Windows POSIX

Inny wygląd programistów w opcji systemu UNIX jest podsystemu Windows POSIX.Jednakże obsługuje tylko 1003.1 POSIX, który był jedyną wersją POSIX znormalizowane podczas tworzenia systemu Windows NT.Od tego czasu było małe zapotrzebowanie na rozszerzenie tego podsystemu, ponieważ większość aplikacji zostały przekonwertowane na Win32.1003.1 System jest zainteresowania dla w pełni funkcjonalnych aplikacji, ponieważ nie zawiera wiele funkcji (takich jak te w 1003.2 z obsługą sieci i tak dalej).Pełna funkcjonalnych aplikacji uruchamiane podsystemu Windows POSIX nie mają dostępu do funkcji systemu Windows dostępne dla aplikacji Win32, takie jak pliki mapowane w pamięci, sieci i grafiki.Aplikacje takie jak VI, LS i GREP są głównym celem dla podsystemu Windows POSIX.

Zobacz też

Informacje

UNIX

Koncepcje

Zasady wnioskowania

Inne zasoby

Eksportowanie i uaktualnianie programów