PD: Cuando digo ejecutable no me refiero a los programas que te bajas por internet que incluso depende del linux que utilices (si es red hat si es debian) me refiero a un .exe creado a partir de un .cPues, cual es la diferencia?
Tanto puede variar la estructura de un ejecutable, el programa son 50 lineas y de ir de que funcione a que noPuede ser un "Hello World" y aun asi no funcionaria en WIndows.
RECUERDA: cuando programas en C/C++ o cualquier lenguaje compilable y codigo tiene que ser a gusto del compilador y de la plataforma que corres.
Despues compilar en gcc es lo mismo que compilar en dev c++ de windows ya que ambos son gcc.Nada que ver, se trata de OS, del kernel no de compilador, si compilas en BSD y tratas de correrlo en Gnu/Linux no tendras un buen resultado a no ser que uses elf2olf, pero no lo podras correr sin emular ya que tanto las cabeceras como el contenido del ejecutable son diferentes para estas plataformas.
un programa que compila en visual c++, compila en dev , compila en gcc. Y en todos ellos se ejecuta correctamente salvo alguna excepción. Que alguno deje pasar más cosas que otros, no te digo que no. Que depende de dnd corras será más preciso pues tan bien. Pero en gral, el codigo funcionará en todas las plataformas (codigo no ejecutable) si estas utlizando librerias standard y básicas como son el stdio.h y el math.hNop, si miras dependencias hay programas que especifican la version del compilador (sindo el mismo si es mas nuevo o al contrario puede no funcionar ya que el lexer puede cambiar) claro, que esto tambien implica las librerias standars.
Piensa que estoy compilando un programa en c no en c++, así que aqui no utlizas ficheros .o o .so ya que no hay objetos como en c++Nop, no estamos hablando de "objetos" = clases, sino de código objeto, código en el formato de la computadora/arquitectura/sistema operativo en que estás trabajando.
Despues compilar en gcc es lo mismo que compilar en dev c++ de windows ya que ambos son gcc.A ver, MinGW es un port de GCC, efectivamente. Pero una cosa es que un mismo código fuente pueda ser compilado en ambos compiladores (GCC y MinGW, de hecho, si se trata de C/C++ estándar, debiera compilar en cualquier otro compilador que lo soporte), y otra MUY diferente es que el ejecutable resultante (ya enlazado) pueda correrse en ambas plataformas, eso no es posible (a menos, como mencioné, que se trate de un código interpretado como Java, no compilado/enlazado como C/C++).
Así que como solo hay un archivo, el .exe ni .o ni .so (no has de comprimir na de na)
Aquí reafirmas lo que te he dicho arriba, pero ten claro que una cosa es un código fuente escrito en C/C++ estándar que pueda compilarse en diferentes compiladores, y otra el código objeto y/o ejecutables resultantes tras compilar dicho código fuente, el cual NO puede ejecutarse en diferentes plataformas (si lo compilaste para Windows, pues sólo corre en Windows), a menos que lo emules :P.CitarRECUERDA: cuando programas en C/C++ o cualquier lenguaje compilable y codigo tiene que ser a gusto del compilador y de la plataforma que corres.
Si y no, al- en C. Cuando compilas en C en gral. un programa que compila en visual c++, compila en dev , compila en gcc. Y en todos ellos se ejecuta correctamente salvo alguna excepción. Que alguno deje pasar más cosas que otros, no te digo que no. Que depende de dnd corras será más preciso pues tan bien. Pero en gral, el codigo funcionará en todas las plataformas (codigo no ejecutable) si estas utlizando librerias standard y básicas como son el stdio.h y el math.h
Piensa que estoy compilando un programa en c no en c++, así que aqui no utlizas ficheros .o o .so ya que no hay objetos como en c++Los *.so no son objetos, son librerías para GNU/Linux... lo que en Windows son los DLLs. :P
un programa que compila en visual c++, compila en dev , compila en gcc. Y en todos ellos se ejecuta correctamente salvo alguna excepción. Que alguno deje pasar más cosas que otros, no te digo que no. Que depende de dnd corras será más preciso pues tan bien. Pero en gral, el codigo funcionará en todas las plataformas (codigo no ejecutable) si estas utlizando librerias standard y básicas como son el stdio.h y el math.hDev-C++ es un IDE, no cabe aquí, ya que la "guerra" es entre compiladores: Visual C++, GCC, Borland, Intel C++ Compiler... :D
"cros-compilar" aplicaciones Windows desde Linux (si, compilar ejecutables para Windows desde Linux es posible con MinGW/Linux), pero para probar dichos programas en Linux deberás hacerlo mediante un emulador, como Wine.cros-compilar :think:
"Compilado multiOS/plataforma". :DOk, "cross-compiling" :P.
Wine no es un emulador, los emuladores son Qemu y VMware. :whistling:Cierto.