Partilhar via


Portabilidade do UNIX para Win32

Ao migrar aplicativos UNIX para Windows, você tem várias opções:

  • Usando bibliotecas de UNIX portar aplicativos UNIX para Win32

  • Portar aplicativos UNIX para Win32 nativo

  • Executando aplicativos UNIX no Windows usando o subsistema POSIX

Bibliotecas de UNIX

Uma opção UNIX programadores considere normalmente é usar bibliotecas semelhante ao UNIX de terceiros para permitem que sua compilar de código UNIX sistema autônomo um executável do Win32.Vários comerciais (e pelo menos um domínio público) bibliotecas de fazer isso.Essa é uma opção para alguns aplicativos.A vantagem dessas portagem de bibliotecas é que eles minimizar o esforço de portagem inicial.A principal desvantagem de um produto de software concorrente é que uma porta de Win32 nativa de um aplicativo geralmente serão mais rápida e terá, inevitavelmente, mais funcionalidade.Pode ser inconveniente para o aplicativo para a etapa fora do seu shell UNIX se precisar fazer chamadas Win32 para obter mais potência do Windows.

A lista a seguir fornece a Microsoft e recursos de terceiros para portar e suporte de migração do UNIX para o Visual C++:

Guias de migração do UNIX

O guia de migração do UNIX Custom aplicativo fornece ajuda técnica sobre migração de código do UNIX no ambiente do Win32.

Guia do projeto de migração de UNIX suplementa UNIX Custom aplicativo Migration Guide, fornecendo ajuda de alto nível sobre Migrando projetos substanciais do UNIX para Win32.O guia fornece conselhos sobre questões a serem consideradas em cada preparar do projeto de migração.O guia pode ser feito de:

Microsoft Windows Services for UNIX (SFU)

O Microsoft Windows Services for UNIX (SFU) oferece uma gama completa de plataformas de serviços para integração do Windows em ambientes UNIX existentes.Serviços para UNIX fornece compartilhamento de arquivos, acesso remoto e administração, a sincronização de senha, gerenciamento de diretório comum, um conjunto comum de utilitários e um shell.

InteropSystems.com

Um terceiro site para uma empresa fornecendo suporte a portabilidade do UNIX para o Win32 software.

Site de C++ Boost

Portar aplicativos UNIX diretamente para Win32

Outra opção é portar aplicativos UNIX diretamente para o Win32.Usando bibliotecas de ANSI C/C ++ e bibliotecas do compilador C comercial, muitos do tradicional sistema contavam com chamadas por aplicativos UNIX estão disponível em aplicativos Win32.

O modelo de saída de stdio- baseado em aplicativos não precisa ser alterado, desde que o console do Win32 APIs imitar o stdio modelo e versões de curses existe que usam o console do Win32 APIs.Para obter mais informações, consulte SetConsoleCursorPosition.

sistema autônomo aplicativos baseados no soquete Berkeley precisam muito poucas alterações para funcionar sistema autônomo aplicativos Win32.A interface Windows Sockets foi criada para portabilidade com soquetes BSD, com mínimas alterações são observadas nas seções Introdução da especificação do WinSock.

O Windows oferece suporte a RPC compatível com a DCE, para que aplicativos baseados em RPC sejam com com facilidade utilizáveis.See Funções RPC.

Uma das maiores áreas de diferença é no modelo de processo.UNIX possui bifurcação; Win32 não faz.Dependendo do uso de bifurcação e a base de código, Win32 tem duas APIs que podem ser usadas: CreateProcess and CreateThread. Um aplicativo UNIX que bifurcações várias cópias de si mesmo pode ser reformulado no Win32 para ter vários processos ou um único processo com vários segmentos.Se vários processos forem usados, há vários métodos de IPC que podem ser usados para comunicação entre processos (e talvez para atualizar o código e os dados do novo processo como pai, se a funcionalidade que bifurcação fornece é necessária).Para obter mais informações sobre IPC, consulte Comunicação entre processos.

Modelos de gráficos Windows e UNIX são muito diferentes.UNIX usa a GUI de sistema X janela, enquanto o Windows usa o GDI.Embora semelhantes em conceito, não há nenhum mapeamento simples da API de X para a API de GDI.No entanto, suporte a OpenGL está disponível para migrar aplicativos baseados em UNIX OpenGL.E há X clientes e X servidores do Windows.See Contextos de dispositivo para obter informações sobre GDI.

Aplicativos básicos de UNIX, incluindo muitos aplicativos CGI, devem porta com com facilidade para o Visual C++ em execução no Windows.Funções, como em em aberto, fopen, ler, gravar e outros estão disponível na biblioteca de time de execução do Visual C++.Além disso, há um mapeamento um-para-um entre C APIs do UNIX e as APIs do Win32: em em aberto to CreateFile, ler to ReadFile, gravar to WriteFile, ioctl para DeviceIOControl, Fechar para CloseFile, e assim por diante.

Subsistema POSIX do Windows

Outra opção UNIX programadores examinar é o subsistema POSIX do Windows.No entanto, ele só suporta 1003.1 POSIX, o qual foi a única versão POSIX padronizada quando Windows NT foi criado.Desde então, houve pouco demanda para estender esse subsistema porque a maioria dos aplicativos tem sido convertido no Win32.O sistema 1003.1 é de interesse limitado para aplicativos completos, porque ele não inclui vários recursos (sistema autônomo aquelas em 1003.2, suporte de rede e assim por diante).Totais em destaque aplicativos executados sob o subsistema POSIX do Windows não tem acesso a recursos do Windows disponível para aplicativos Win32, tais sistema autônomo arquivos de memória mapeada, redes e elementos gráficos.Aplicativos, sistema autônomo VI, LS e GREP são sistema autônomo principais alvos para o subsistema POSIX do Windows.

Consulte também

Conceitos

A inferência de regras

Referência

UNIX

Outros recursos

Portando e atualizando programas