Saltar al contenido

¿Cuál sería el equivalente de Win32 API en Linux?

Hola usuario de nuestra página, descubrimos la solución a tu interrogante, deslízate y la hallarás a continuación.

Solución:

Necesita entender qué son las llamadas al sistema. En Linux, son la API terrestre de usuario más baja posible (en contraste, la API de Win32 probablemente mezcla llamadas al sistema reales del kernel con algunas funciones de bibliotecas. libc también hace tal mezcla en Linux). fork(2), execve(2), open(2), pipe(2), mmap(2), read(2), poll(2), close(2), dup2(2), sigaction(2) son llamadas al sistema importantes (pero hay alrededor de 300 de ellas, consulte syscalls(2) para obtener una lista, que depende de su kernel de Linux preciso).

No espere que cada funcionalidad de Windows esté disponible en Linux (y viceversa).

Ni siquiera pienses en tal equivalente.

Obtenga una mentalidad diferente en Linux.

(En particular, los procesos son muy diferentes en Linux y en Windows).

No olvides que Linux es software libre, y puede sumergirse en el código fuente de cada función que está utilizando en Linux. Léalo, búsquelo, mejórelo…..

Primero lea la página del manual intro(2) y varias otras páginas del manual (en particular, syscalls(2), intro(3), etc.). Lea también, por ejemplo, Programación avanzada de Linux y Programación avanzada de Unix.

Algunas bibliotecas intentan factorizar y proporcionar una abstracción común tanto para Posix (por ejemplo, Linux) como para Windows. En particular Qt (y también Gtk o FLTK o POCO, y Wt para aplicaciones web y sqlite para bases de datos).

Algunos software de servidor de código abierto (por ejemplo, lighttpd, exim, postgresql, etc…) pueden ejecutarse tanto en Linux como en Windows (por supuesto, después de la recompilación)

Si está interesado en la interfaz gráfica, comprenda la importante función de X11 (observe que el servidor X11 está más cerca de la pantalla y el teclado; la mayoría de las aplicaciones gráficas son clientes X11). En 2016 o 2020, X11 tiende a ser reemplazado por Wayland (pero no notará ese “detalle” de implementación, uno realmente importante, si codifica contra Qt o GTK)

Si escribe una aplicación usando solo llamadas Qt y/o POCO (aquellas que no están documentadas como específicas de Linux o Windows) además de las funciones estándar de C++, debe ser portátil desde Linux a Windows y viceversa.

Si desea portar una aplicación que usa llamadas Win32, su mejor opción podría ser usar WineLib. Esto usa las bibliotecas que sustentan a Wine, pero no es lo mismo que simplemente ejecutar una aplicación usando Wine: vuelve a compilar su aplicación como una aplicación de Linux, solo usando las bibliotecas compartidas de WineLib. Sin embargo, seguirá pareciendo una aplicación de Windows, a menos que modifique la capa de la interfaz de usuario.

Como se ha dicho en otras partes de las respuestas, no hay un equivalente directo real de Win32 en Linux: diferentes componentes proporcionan diferentes bits de Win32 y, a veces, tiene una opción de componentes. Esto es posible porque algunos equivalentes de partes de Win32 se implementan de forma nativa en un nivel inferior; por ejemplo, Win32 proporciona componentes de interfaz de usuario, cuyos equivalentes están disponibles en GTK, Qt o cualquier otro conjunto de herramientas (como WineLib), que a su vez interactúe con X. Así como normalmente usaría componentes de Win32 en lugar de dibujar los suyos usando llamadas API de nivel inferior, normalmente usaría componentes de su conjunto de herramientas de interfaz de usuario de alto nivel en lugar de usar X directamente.

valoraciones y reseñas

Recuerda algo, que tienes permiso de añadir un diagnóstico si diste con el hallazgo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *