Compartilhar via


Portando de UNIX para Win32

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

  • Usando bibliotecas de UNIX para mover aplicativos de UNIX a Win32

  • Movendo aplicativos de UNIX a Win32 nativamente

  • Executando aplicativos de UNIX no Windows usando o subsistema POSIX

Bibliotecas de UNIX

Os desenvolvedores de UNIX de uma opção consulte são normalmente usar de terceiros Unix- como bibliotecas para permitir que seu código de UNIX compilar como um executável Win32.Várias bibliotecas de negócios (e pelo menos um public domínio) fazem isso.Esta é uma opção para alguns aplicativos.A vantagem dessas bibliotecas movendo é que minimizam o esforço movendo inicial.A desvantagem de chave, para um produto de software competitivo, que é uma porta nativo Win32 de um aplicativo será geralmente mais rápida e terá inevitàvel mais funcionalidade.Pode ser complicado para que o aplicativo depurar fora do seu shell de UNIX se precisar fazer chamadas Win32 para obter mais poder do Windows.

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

Guias de migração de UNIX

O guia de migração do aplicativo personalizado de UNIX fornece ajuda técnica na migração de código de UNIX para o ambiente Win32.

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

A guia Project de migração Unix complementa a guia de migração do aplicativo personalizado de UNIX fornecendo a ajuda de alto nível em migrar projetos substanciais de UNIX a Win32.A guia provê conselhos sobre problemas para ver em cada estágio de migração do projeto.A guia pode ser baixado de:

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

Serviços do Microsoft Windows para UNIX (SFU)

Os serviços do Microsoft Windows para UNIX (SFU) fornecem uma gama completa de serviços da plataforma cruzada para integrar o Windows em ambientes com base no Unix existentes.Os serviços para UNIX fornecem o compartilhamento de arquivos, acesso remoto e administração, sincronização de senha, gerenciamento de diretório comum, um conjunto comum de utilitários definida, e um shell.

Serviços do Windows para UNIX

InteropSystems.com

http://www.interopsystems.com/

Um site de terceiros para uma empresa que fornece o software que suporta UNIX movendo a Win32.

Site de aumento de C++

http://boost.sourceforge.net/regression-logs/

http://boost.sourceforge.net/boost-build2/

Movendo aplicativos de UNIX diretamente a Win32

Outra opção estiver movendo aplicativos de UNIX diretamente a Win32.Usar bibliotecas ANSI ++, e as bibliotecas de negócios de compilador c#, muitas das chamadas de sistema tradicionais dependia ativado por aplicativos de UNIX está disponível em aplicativos Win32.

O modelo de saída de aplicativos baseadas em stdionão precisa ser alterado, desde que as APIs de console do Win32 imitam o modelo de stdio , e as versões de pragas existem que usam APIs de console do Win32.Para obter mais informações, consulte SetConsoleCursorPosition.

Berkeley soquete com a necessidade de aplicativos muito poucas alterações ao trabalho como aplicativos Win32.A interface de soquetes do Windows foi criada para a portabilidade com os soquetes de DEB, com as alterações mínimas que são mostrado nas seções introdutórias da especificação de Winsock.

Windows oferece suporte RPC DCE- compatível, assim RPC- aplicativos baseados facilmente é útil.Consulte Funções de RPC.

Uma das áreas principais da diferença está no modelo de processo.UNIX tem fork; Win32 não.Dependendo do uso de fork e de código, Win32 tem dois APIs que podem ser usados: CreateProcess e CreateThread.Um aplicativo de UNIX que se bifurque várias cópias de se pode ser reworked no Win32 para ter vários processos ou um único processo com vários segmentos.Se vários processos são usados, há vários métodos de comunicação entre processos que podem ser usados para comunicação entre processos (e talvez para atualizar o código e dados do novo processo para ser como o pai, se a funcionalidade que fornece fork é necessária).Para obter mais em comunicação entre processos, consulte Comunicação entre processos.

Windows e modelos gráficos de UNIX são muito diferentes.UNIX usa o sistema GUI da janela de X, quando usar GDI Windows.Embora semelhante ao conceito, não há nenhum mapeamento simples de X API para o GDI API.Entretanto, o suporte de OpenGL está disponível para migrar aplicativos baseados OpenGL- UNIX.Há clientes e X e servidores de X para o Windows.Consulte Contextos de dispositivo para obter informações de GDI.

Os aplicativos básicos de UNIX, incluindo vários aplicativos de cgi, devem mover facilmente para Visual C++ que é executado no Windows.Como as funções de abrir, fopen, readwrite , e outros estão disponíveis na biblioteca em tempo de execução do Visual C++.Além disso, há um mapeamento um-para-um entre as APIs de UNIX e APIs do Win32: open para CreateFile, read para ReadFile, write para WriteFile, ioctl para DeviceIOControl, close para CloseFile, e assim por diante.

Subsistema do Windows POSIX

Um outros desenvolvedores de UNIX de opção são são o subsistema do Windows POSIX.No entanto, somente suporta POSIX 1003,1, que foi a única versão POSIX padronizada quando Windows NT foi criado.Desde então, houve uma pequena browse para estender este subsistema, porque a maioria dos aplicativos foram convertidos a Win32.O sistema 1003,1 é de interesse limitado para aplicativos totalmente caracterizados, porque não inclui vários recursos (como aqueles em 1003,2, suporte a rede, e assim por diante).A execução caracterizada completa dos aplicativos no subsistema do Windows POSIX não tem acesso aos recursos do Windows disponíveis para aplicativos Win32, como arquivos, rede, e elementos gráficos memória mapeados.Os aplicativos como VI, LS, e GREP são destinos principais para o subsistema do Windows POSIX.

Consulte também

Referência

UNIX

Conceitos

Regras de inferência

Outros recursos

Portando e atualizando programas