Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuál es la diferencia entre win32 y winCE?

¿Cuál es la diferencia entre win32 y winCE?

Al migrar aplicaciones WIN32 a la plataforma WINCE, a menudo encontramos falta de disponibilidad de API. Esto se debe a que WinCE solo implementa un subconjunto de la API win32. Durante la migración, es necesario verificar todas las llamadas a la API WIN32 en la aplicación, incluidas funciones, mensajes y estructuras de datos relacionadas, y realizar algunas modificaciones a las llamadas a funciones incompatibles o encontrar funciones alternativas. Partiendo principalmente de los siguientes aspectos:

1. Algunas funciones proporcionadas por WIN32 no son compatibles en absoluto con la biblioteca de funciones de WINCE y algunas de ellas se reemplazan por nuevas funciones en WINCE. en la programación de la interfaz WIN32 se encontraron las funciones relacionadas con la BARRA DE MENÚ y la BARRA DE HERRAMIENTAS, y se agruparon en la BARRA DE COMANDOS en WINCE, formando una nueva API. También hay algunas funciones no compatibles que deben implementarse indirectamente llamando a otras funciones. Si la función de asignación de memoria CALLOC no existe en la biblioteca de tiempo de ejecución de C, se puede lograr llamando a MALLOC e inicializando explícitamente la memoria. Como otro ejemplo, POLYLINE se puede utilizar para implementar las funciones MOVETO y LINETO.

2. Aunque algunas funciones de WIN32 son compatibles con WINCE, tienen algunas restricciones, como reducir el número de parámetros o reducir el rango opcional de parámetros. Por ejemplo, las funciones de creación de ventanas CREATEWINDOW y CREATEWINDOWEX son compatibles con WINCE, pero los tipos de ventanas disponibles para selección se reducen. Esto también debe tenerse en cuenta durante el proceso de migración del programa.

3. Los programas WINCE también se pueden desarrollar con MFC, pero la definición de mensajes del programa es diferente. No admite completamente mensajes que comiencen con WM_ y EM_. Por ejemplo, los dispositivos WINCE suelen utilizar lápices de entrada en lugar de ratones, por lo que no tienen la acción de hacer clic con el botón derecho del ratón en DOSKTOP PC y no admiten el mensaje WM_RBOTTONDOWN. Al mismo tiempo, el propio WINCE ha producido algunas novedades. Debido a limitaciones de memoria, todas las aplicaciones de la plataforma se ejecutan en un estado de memoria baja y deben tener la capacidad de trabajar con el sistema operativo para administrar la memoria. Cuando la memoria disponible del sistema es inferior a un cierto umbral, el sistema WINCE enviará un mensaje a la aplicación en ejecución para cerrar o liberar temporalmente la memoria no utilizada. Agregar un nuevo mensaje WM_HIBERNATE completa esta función.

Por lo tanto, al trasplantar una aplicación, primero debe examinar el soporte de WINCE para la API WIN32. Se pueden utilizar métodos como reemplazar o modificar llamadas API existentes o agregar nuevas API para adaptarse a los requisitos del sistema.