Cita de: WHK en 4 Julio 2013, 15:03 PMY después de hacer eso incluso se podría hacer un quinto binario. Sería un binario con el formato que le pongamos y en el irán los cuatro binarios. Los cuatro con un índice para cada sistema. Así el binario final será ejecutado en el sistema que corresponda y por lo tanto funcionará en todas las plataformas. En el caso de que el programa genere o use archivos externos, estos archivos se compartirían por los cuatro binarios embebidos en el quinto. Sería algo así:
Por ejemplo, creamos un código, llamemoslo c$ que su sintaxis sea perfectamente la misma que java, ahora digamos que lo vamos a compilar, entonces el compilador toma todas las instrucciones del código y lo compila para código máquina embebiendo todas las librerías en formato .h necesarias para que funcione bién, este debería ser capaz de generar por lo menos 4 binarios: un exe (windows), un binario de gnu/linux, un binario para unix (mac) y otro para bsd.
"Comprimimos" los cuatro binarios en un formato .universal agregándole índices:
Programa de Windows:
Archivo .exe ya compilado.
Programa de Linux:
Archivo .Deb ya compilado
Programa de Mac:
...........
Programa de FreeBSD:
...........
Así al ejecutar el programa en Windows buscará por el índice el .exe
En linux el .deb, etc.
Un ejemplo:
Imaginaros, todos los binarios se encargan de crear un .txt con números de teléfono dentro para más tarde acceder a ellos desde al mismo programa.
Pues los cuatro binarios usarán el mismo archivo.txt
Así cambiarás los datos del archivo y los leerás desde cualquier de esos cuatro sistemas. Esto hará al programa independiente de cualquier sistema y se podrán trabajar con los mismos datos desde cualquier sistema.
Llevado a programas más complejos; con el mismo código tendrías un solo binario portable entre sistemas.
Esto implicaría que el código del programa fuera multiplataforma, pero estoy seguro de que millones de usuarios considerarían útil poder usar el mismo programa sin alterar en todas las plataformas. Te ahorraría descargar el mismo programa para los cuatro sistemas e importar la configuración y los datos constantemente entre todos ellos, actualizarlos todos cada uno con sus distintas versiones. Problemas entre usuarios por las distintas versiones de los programas, etc.