Login Barrapunto
Portar aplicaciones de Linux a Windows
pobrecito hablador nos cuenta: «Tengo el código fuente de una aplicación libre lista para compilar con 'make && make install'. Por cuestiones de trabajo, hay que utilizarla en Windows, por lo que habría que portarla. ¿Sabéis algún programa (ya sea en Windows o en Linux) o tutorial que me ayude en la tarea?
Por Google encuentro fácilmente manuales para portar aplicaciones de Windows a Linux pero al revés ninguno.
»
Este hilo ha sido archivado.
No pueden publicarse nuevos comentarios.
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.

Petición de Soporte HOWTO
(Puntos:1)( http://www.ebooz.com/ )
Para esta y cualquier otra consulta de soporte técnico que realices en Internet debe ofrecer el máximo de información posible.
Informatica y paginas web marbella [ebooz.com]
CYGWIN
(Puntos:4, Informativo)No creo que pueda haber mucho escrito sobre como portar programas de unix a windows... se presupone que quien programa sabe que cosas son portables y cuales no (llamadas al sistema por ejemplo). En definitiva... viendo el codigo del programa... deberias saber que cosas son portables y cuales no (ya que algunas de ellas dependen incluso del compilador que uses...).
Un saludo!
Dependencias
(Puntos:4, Informativo)¿Desde el departamento Caballo de Troya?
(Puntos:4, Divertido)( http://www.instigado.net/ | Última bitácora: Lunes, 03 Octubre de 2005, 00:55h )
Que miedo... ¡que nos invaden!
.
------
Manuko, Instigado@Net [instigado.net].
Falta información
(Puntos:1, Redundante)( http://mipartido.blogspot.com/ )
No te dejes engañar
como ya se ha sugerido
(Puntos:3, Informativo)( Última bitácora: Domingo, 11 Junio de 2006, 20:58h )
Había pensado en sugerir algún emulador sobre windows, como qemu o vmware, pero no creo que te resuelva el problema: puedes arrancar linux sobre windows, pero tendrás dificultades para sacar ficheros desde linux hasta el sistema de archivos de windows. Sí, puedes usar samba, como viene preconfigurado, pero aun así, para usuarios noveles, puede confundir. Y lo peor, va más lento que el cygwin.
Agárrate... que hay curvas (y bien cerradas...)
(Puntos:2, Informativo)( Última bitácora: Martes, 31 Octubre de 2006, 18:26h )
Estoy migrando una aplicación que "corre" bajo HP-UX a Windows 2000 y la experiencia ha sido de lo más enriquecedora... aunque no ha sido tarea fácil (en estos momentos, la aplicación está migrada y ya está en explotación porque hay algunas pruebas que sólo puedo ver en entorno real pero los resultados están siendo satisfactorios... menos mal...). En primer lugar la documentación que proporciona Microsoft en el MSDN acerca de este asunto (http://msdn.microsoft.com/library/default.asp?url =/library/en-us/dnucmg/html/ucmglp.asp) es mala y en mi opinión escasa. Los ejemplos son breves y no profundizan lo suficiente como para hacerse una idea de por donde ir en la mayoría de los casos, por lo que vas a ciegas; para ejemplo, dedique practicamente una semana a darme cuenta de que iba a tener que fabricarme mi propio sistema de colas de mensajes compartidas porque aunque Windows dispone de un sistema de colas de mensajes, no es hasta la versión 3.0 de dicho sistema cuando se soporta la asignación de un número (id) a cada mensaje, y la aplicación a portar se basa en la recogida de mensajes de una cola con un id (cada vez que llega un mensaje a una cola MQ-Series el programa principal, un demonio, recoge la información y compone un mensaje que deja en una cola compartida y lanza un hilo, al que indica el identificador del mensaje que ha dejado en la cola compartida, que se encarga de procesar dicho mensaje) y como el Windows 2000 en el que funciona la aplicación no dispone de MSQM 3 pues no me servía... Así que tuve que currarme un sistema de cola compartida a base de memoria compartida y semáforos...
Y así el resto de cosas a portar (hilos, procesos, llamadas al sistema de log,...), que si bien no fueron tan traumáticos, me llevaron su tiempo.
En definitiva, he empleado mucho tiempo buscando documentación y ejemplos para llegar muchas veces a la conclusión de que lo mejor era probar con el ejemplo breve que disponía de MSDN o lo que había de pequeño ejemplo de las clases de algún profesor de una universidad o hacerlo a ciegas a ver que tal...
No es tarea fácil... pero tampoco es tarea difícil... el problema está en que Microsoft y los estándares no son muy amigos, por lo que aquello que parece de lo más evidente en Windows, no lo tienes y aquello que no te piensas que vaya a ser soportado si lo es... Vamos, que te va a tocar compilar muchas veces... pero te garantizo que aprenderás mucho :) Logicamente, cuanto mayor sea el nivel al que trabaje la aplicación, más fácil o más dificil será la tarea, pues todo dependerá de las librerias y frameworks que pueda estar usando la aplicación y si han sido portados a Windows o no, aunque tiene toda la pinta que es algun lenguaje sencillo como C por lo del make...
De hecho, voy a modificar la aplicación para que funcione como un servicio del sistema y se pueda arrancar, parar y reiniciar de forma segura; igualmente voy a aprovechar el sistema de gestión de eventos (sucesos) de Windows para la aplicación ; y ya que estoy un sistema de instalación/desinstalación de la aplicación :D (con InnoSetup). Y porque no se me ocurre nada más, pero ya que le he cogido el gustillo a la cosa...
Un saludo y si necesitas algo, pregunta; aprovecha que alguien ya ha perdido el tiempo en la búsqueda de la respuesta ;)
PD: También es cierto que la aplicación que practicamente he terminado de migrar es en C y mezclarla con C++ no era buena idea por lo que quizás me he complicado un poco al mantenerla lo más "C-only" posible; pero tampoco creo que haya muchas más facilidades en caso de ser C++
PD2: Ahora sí, ruego al moderador, borre el anterior, se me debió de quedar pillado el navegador...
Agárrate... que hay curvas (y bien cerradas...)
(Puntos:1, Interesante)( Última bitácora: Martes, 31 Octubre de 2006, 18:26h )
Estoy migrando una aplicación que "corre" bajo HP-UX a Windows 2000 y la experiencia ha sido de lo más enriquecedora... aunque no ha sido tarea fácil (en estos momentos, la aplicación está migrada y ya está en explotación porque hay algunas pruebas que sólo puedo ver en entorno real pero los resultados están siendo satisfactorios... menos mal...). En primer lugar la documentación que proporciona Microsoft en el MSDN acerca de este asunto (http://msdn.microsoft.com/library/default.asp?url =/library/en-us/dnucmg/html/ucmglp.asp) es mala y en mi opinión escasa. Los ejemplos son breves y no profundizan lo suficiente como para hacerse una idea de por donde ir en la mayoría de los casos, por lo que vas a ciegas; para ejemplo, dedique practicamente una semana a darme cuenta de que iba a tener que fabricarme mi propio sistema de colas de mensajes compartidas porque aunque Windows dispone de un sistema de colas de mensajes, no es hasta la versión 3.0 de dicho sistema cuando se soporta la asignación de un número (id) a cada mensaje, y la aplicación a portar se basa en la recogida de mensajes de una cola con un id (cada vez que llega un mensaje a una cola MQ-Series el programa principal, un demonio, recoge la información y compone un mensaje que deja en una cola compartida y lanza un hilo, al que indica el identificador del mensaje que ha dejado en la cola compartida, que se encarga de procesar dicho mensaje) y como el Windows 2000 en el que funciona la aplicación no dispone de MSQM 3 pues no me servía... Así que tuve que currarme un sistema de cola compartida a base de memoria compartida y semáforos...
Y así el resto de cosas a portar (hilos, procesos, llamadas al sistema de log,...), que si bien no fueron tan traumáticos, me llevaron su tiempo.
En definitiva, he empleado mucho tiempo buscando documentación y ejemplos para llegar muchas veces a la conclusión de que lo mejor era probar con el ejemplo breve que disponía de MSDN o lo que había de pequeño ejemplo de las clases de algún profesor de una universidad o hacerlo a ciegas a ver que tal...
No es tarea fácil... pero tampoco es tarea difícil... el problema está en que Microsoft y los estándares no son muy amigos, por lo que aquello que parece de lo más evidente en Windows, no lo tienes y aquello que no te piensas que vaya a ser soportado si lo es... Vamos, que te va a tocar compilar muchas veces... pero te garantizo que aprenderás mucho :) Logicamente, cuanto mayor sea el nivel al que trabaje la aplicación, más fácil o más dificil será la tarea, pues todo dependerá de las librerias y frameworks que pueda estar usando la aplicación y si han sido portados a Windows o no, aunque tiene toda la pinta que es algun lenguaje sencillo como C por lo del make...
De hecho, voy a modificar la aplicación para que funcione como un servicio del sistema y se pueda arrancar, parar y reiniciar de forma segura; igualmente voy a aprovechar el sistema de gestión de eventos (sucesos) de Windows para la aplicación ; y ya que estoy un sistema de instalación/desinstalación de la aplicación :D (con InnoSetup). Y porque no se me ocurre nada más, pero ya que le he cogido el gustillo a la cosa...
Un saludo y si necesitas algo, pregunta; aprovecha que alguien ya ha perdido el tiempo en la búsqueda de la respuesta ;)
PD: También es cierto que la aplicación que practicamente he terminado de migrar es en C y mezclarla con C++ no era buena idea por lo que quizás me he complicado un poco al mantenerla lo más "C-only" posible; pero tampoco creo que haya muchas más facilidades en caso de ser C++
PD2: Ahora sí, ruego al moderador, borre el anterior, se me debió de quedar pillado el Firefox (y encima que ultimamente la conexión de Ya.com no va bien...)
herejía !!! herejía !!!
(Puntos:2)( Última bitácora: Domingo, 15 Mayo de 2005, 20:52h )
hereje.
(Del prov. eretge).
1. com. Persona que niega alguno de los dogmas establecidos por una religión.
2. com. Persona que disiente o se aparta de la línea oficial de opinión seguida por una institución, una organización, una academia, etc.
Y el programa al final no será un apostata
apostatar.
(Del lat. apostatāre).
4. intr. Abandonar un partido para entrar en otro, o cambiar de opinión o doctrina
(supongo que será algo asi como cambiar de de SO)
Unix Code Migration Guide
(Puntos:1)Sobra decir que es igualmente valido para portar de WinAPI a cualquier otro sistema que cumpla POSIX y cubre casi todos los aspectos que puedas imaginar, lo cual lo hace muy util.
Suerte :).
Agárrate que hay curvas... (y muy cerradas)
(Puntos:1)( Última bitácora: Martes, 31 Octubre de 2006, 18:26h )
Actualmente estoy haciendo esa tarea en la beca que se me concedió haya en Mayo en la Universidad.
Estoy migrando una aplicación que "corre" bajo HP-UX a Windows 2000 y la experiencia ha sido de lo más enriquecedora... aunque no ha sido tarea fácil (en estos momentos, la aplicación está migrada y ya está en explotación porque hay algunas pruebas que sólo puedo ver en entorno real pero los resultados están siendo satisfactorios... menos mal...). En primer lugar la documentación que proporciona Microsoft en el MSDN acerca de este asunto (http://msdn.microsoft.com/library/default.asp?ur
Y así el resto de cosas a portar (hilos, procesos, llamadas al sistema de log,...), que si bien no fueron tan traumáticos, me llevaron su tiempo.
En definitiva, he empleado mucho tiempo buscando documentación y ejemplos para llegar muchas veces a la conclusión de que lo mejor era probar con el ejemplo breve que disponía de MSDN o lo que había de pequeño ejemplo de las clases de algún profesor de una universidad o hacerlo a ciegas a ver que tal...
No es tarea fácil... pero tampoco es tarea difícil... el problema está en que Microsoft y los estándares no son muy amigos, por lo que aquello que parece de lo más evidente en Windows, no lo tienes y aquello que no te piensas que vaya a ser soportado si lo es... Vamos, que te va a tocar compilar muchas veces... pero te garantizo que aprenderás mucho
De hecho, voy a modificar la aplicación para que funcione como un servicio del sistema y se pueda arrancar, parar y reiniciar de forma segura; igualmente voy a aprovechar el sistema de gestión de eventos (sucesos) de Windows para la aplicación ; y ya que estoy un sistema de instalación/desinstalación de la aplicación
Un saludo y si necesitas algo, pregunta; aprovecha que alguien ya ha perdido el tiempo en la búsqueda de la respuesta
PD: También es cierto que la aplicación que practicamente he terminado de migrar es en C y mezclarla con C++ no era buena idea por lo que quizás me he complicado un poco al mantenerla lo más "C-only" posible; pero tampoco creo que haya muchas más facilidades en caso de ser C++
PD2: Ahora sí, ruego al moderador, borre el anterior, se me debió de quedar pillado el Firefox, aunque entre la conexión de Ya.com y que la web de barrapunto le cuesta años cargarla no sé yo que será...
PD3: Después de cinco intentos...
Re:GNU
(Puntos:1, Informativo)