2012-03-06 18 views
5

This article (desde el equipo de ingeniería de Windows) dice:Trasladar x86/64 programas de Windows a Windows 8 ARM

WOA [Windows en ARM] no va a apoyar cualquier tipo de virtualización o enfoque de emulación, y no permite que las aplicaciones x86/64 existentes sean portadas o ejecutadas.

¿Eso significa que ni siquiera podré recompilar una aplicación x86/64 de la fuente para ARM?

En caso afirmativo, ¿qué es exactamente lo que me impide hacer eso? Mi entendimiento es que the Win32 API is present on Windows 8 ARM.

Si no, ¿qué quieren decir con no poder portar aplicaciones x86/64 a ARM?

Respuesta

4

Sólo un subconjunto de Win32 es compatible con Windows 8 para ARM:

Si intenta crear una aplicación que utiliza una API de Win32 no soportado, ganó' t compilación porque la API no estará en la biblioteca. Si intenta crear su propia biblioteca para admitir las API, la aplicación aún no será utilizable porque la única forma de implementar aplicaciones para los clientes será a través de la tienda de aplicaciones MS, que sin dudas verificará la conformidad de la API.

De La "Building Windows for the ARM processor architecture" artículo:

Los consumidores obtienen todo el software, incluidos los controladores de dispositivos, a través de la tienda de Windows y Microsoft Update o Windows Update.

Es posible que lo haga en su máquina de desarrollo (pero tal vez no, realmente no estoy seguro si tal "pirateo" será posible, compatible o no), pero ciertamente no será capaz de implementarlo en cualquier tipo de moda generalizada.

En resumen, cualquier aplicación Win32 existente probablemente necesitará mucho trabajo para ser portada a Win8 para ARM. No se tratará de recompilar y corregir los errores que aparezcan para que la aplicación se ejecute en ARM.

+0

Creo que todos los Win32 (de la aplicación x86) se deben convertir a API WinRT? Porque solo las API de WinRT se pueden usar para crear la aplicación Metro (que se puede ejecutar en ARM), ¿verdad? – onmyway133

3

sí proporcionan esta advertencia un poco más lejos en su artículo citado:

Además, los desarrolladores con código existente, ya sea en C, C++, C#, Visual Basic o JavaScript, son libres de incorporar ese código en sus aplicaciones, siempre y cuando se dirija a la API de WinRT configurada para los servicios de Windows.

Tienen la versión de Office y IE disponible; Estoy seguro de que no se trata de reimplementaciones trilladas.

6

Desde el artículo de Windows al que se vincula, el segundo párrafo citado es el asesino. Portar aplicaciones existentes es definitivamente NOT compatible.

Los desarrolladores que deseen para apuntar WOA hacerlo escribiendo aplicaciones para el WinRT (API de Windows para la construcción de aplicaciones estilo Metro) utilizando el nuevo Visual Studio 11 herramientas en una variedad de idiomas, incluyendo C#/VB/XAML y Jscript/HTML5. La orientación de código nativo WinRT también es compatible con C y C++, que se pueden segmentar a través de arquitecturas y distribuir a través de Windows Store. WOA no admite la ejecución, emulación o transferencia de aplicaciones de escritorio x86/64 existentes. El código que usa solo servicios del sistema o del sistema operativo de WinRT puede usarse dentro de una aplicación y distribuirse a través de la Tienda Windows tanto para WOA como para x86/64. Los consumidores obtienen todo el software, incluidos los controladores de dispositivos, a través de Windows Store y Microsoft Update o Windows Update.

Si habilitamos la amplia transferencia de código existente, no cumpliríamos con nuestro compromiso de prolongar la duración de la batería, el rendimiento predecible y, especialmente, una experiencia confiable en el tiempo. Las convenciones utilizadas por las aplicaciones actuales de Windows no necesariamente proporcionan esto, ya sean procesos en segundo plano, bucles de sondeo, temporizadores, enlaces de sistema, programas de inicio, cambios de registro, código de modo kernel, derechos de administrador, controladores sin firmar, complementos o un anfitrión de otras técnicas comunes. Al evitar estos constructos, WOA puede ofrecer un nuevo nivel de satisfacción del cliente: su PC WOA continuará funcionando bien a medida que las aplicaciones se aíslen del sistema y entre sí, y usted tendrá el control de qué software adicional se está ejecutando. en su nombre, todo mientras deja que las capacidades de hardware diverso brillen.

+0

Bien, entonces ¿qué saldrá mal si simplemente recompilo mi aplicación existente para ARM? – HighCommander4

+1

@ HighCommander4: ¿Cómo? MS quiere que apunte a WinRT, así que supongo que no proporcionarán bibliotecas de importación, etc. para win32 en ARM. Incluso si lograste hackear algo juntos, las aplicaciones se distribuyen a través de Windows Store, así que supongo que MS lo rechazaría. – arx

+1

@ HighCommander4: Win32 NO es compatible con procesadores ARM, si desea desarrollar aplicaciones C/C++ 'nativas' TIENE que apuntar a la interfaz WinRT presentada con Windows 8. – madman1969