On Sun, 14 Nov 2004 22:38:53 +0100, Pablo Guerrero <[EMAIL PROTECTED]> wrote:
> Os cuento que no se si me he explicado bien. Yo tengo un port�til (ibook G4) y
> un servidor antiguo (pentium2) y estoy haciendo un programa que tiene que
> correr en i386 y como tiene partes en ensamblador tiene que compilarse para
> esa arquitectura. En ese c�digo trabajo tanto desde el servidor como desde el
> port�til, y si estoy en el port�til y quiero compilar lo que hago es subirlo
> al servidor y compilarlo all�.
> 
> El problema viene cuando estoy en un sitio sin conexi�n a internet (ocurre mas
> de lo que desear�a) ya que entonces no puedo compilar, y escribir c�digo sin
> poder probarlo me resulta muy dif�cil. Por eso se me ocurri� la idea de la
> "compilaci�n cruzada", pero si conoc�is alguna forma mejor de hacerlo estar�
> encantado de probarlo.
> 

Veamos, se est�n hablando de dos cosas independientes: una es la
compilaci�n cruzada y otra es la ejecuci�n emulada.

Desde el ibook si se puede hacer compilaci�n cruzada, lo �nico
necesario es bajarse los fuentes de gcc y construirlos en el ibook
para que el c�digo de salida sea para i386. Eso es la compilaci�n
cruzada. Si el programa tiene errores de sintaxis, al compilarlos se
quejar� el compilador.

El fruto de dicha compilaci�n cruzada es un binario que NO se puede
ejecutar directamente en el ibook.  Luego los errores que tenga en la
l�gica (que no de sintaxis) no pueden ser detectados. Ese fruto se
puede ejecutar directamente en el servidor sin necesidad de compilarlo
all�.

Aqu� se acaba todo la historia de la compilaci�n cruzada.

Ahora bien, si adem�s se quiere probar que funciona desde el ibook,
necesitas un emulador de i386 para ibook.

�Qued� respondida la pregunta?


Ahora, si yo tuviese esa situaci�n,  separar�a del resto todo el
c�digo que necesitase del i386 y realizaria un c�digo para ibook que
simulase el comportamiento de ese c�digo. Compilar�a nativamente para
ibook, y lo probar�a all� y cuando necesitase la versi�n de i386 har�a
la compilaci�n cruzada (o nativa en el i386). Ojo he dicho que la
libreria de ibook ha de simular el comportamiento, no emular. Es decir
si hay una funci�n que accede en i386 al puerto paralelo, la versi�n
de powerpc podria sacar por la pantalla "enviando al puerto paralelo"
y devolver el valor adecuado al que llamo la funci�n para que el
programa siga funcionando.

atte. javier m mora

Responder a