Article View: chile.comp.programacion
Article #2365Re: Portar codigo C entre maquinas de 32/64 bits?
From: Andres E. Hernando
Date: Tue, 13 Dec 2005 05:47
Date: Tue, 13 Dec 2005 05:47
54 lines
2792 bytes
2792 bytes
On 12 Dec 2005 17:41:53 -0400, Vinko Vrsalovic wrote: > Andres E. Hernando <NOherSPnandoAM@fas.harvard.edu> dijo: >> >> Donde y es un numero de 32 bits... Y aqui esta todo >> mi problema, porque tengo que compartir esto y tiene que >> funcionar igual en maquinas de 32 y de 64 bits. Por lo que >> declarar y como "unsigned long int" no me funciona ya que >> en la maquina Linux donde tiene que correr, un "unsigned >> long int" es de 64 bits, asi que los shifts/xor me generan >> resultados distintos en cada maquina. >> >> Estoy seguro que debe haber una forma de asegurarme >> que y es siempre de 32 bits independiente de la arquitectura, >> pero hace como 4 annos que no programo en C... Algun puntero >> a la ayuda adecuada? > > http://groups.google.com/group/comp.lang.c > > Probaste diciendole al compilador que generara codigo de 32 bits en la > maquina de 64? (cheap shot, pero puede funcionar) El problema es que los archivos son .mex asi que se compilan desde dentro del Matlab y no tengo privilegios para cambiar la configuracion de este (y no le puedo pasar los parametros al gcc). > > Una otra opcion es usar bitfields o una estructura con tipos de datos > de tamaΓ±o fijo. Si, voy a probar con arreglos de char como sugirio Esteban. > > Otra opcion es utilizar sizeof(unsigned long int) en alguna parte y > considerarlo en los calculos para que te de el resultado deseado. > > Pero yo nunca he tenido este tipo de problemas asi que estoy puro > adivinando... :) Se agradece... Saludos, AHG. -- This message is best viewed with a Human Brain (Release 1.0 Beta and above) A Human Brain release 1.0 can be downloaded here: http://www.vh.org/adult/provider/anatomy/BrainAnatomy/Ch5Text/Section01.html msn: a_hernand@msn.com http://diferenciados.blogspot.com/ <-- mi huebloj! http://www.humanclock.com/clock.php <-- mi reloj!
Technical Details
Message-ID:
<4075isF18utn8U3@individual.net>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mailReferences:
<40656sF18epvjU1@individual.net> <439deea0@news.vcd.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,88c16e828b86c7df
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: "Andres E. Hernando" <NOherSPnandoAM@fas.harvard.edu>
Newsgroups: chile.comp.programacion
Subject: Re: Portar codigo C entre maquinas de 32/64 bits?
Date: 13 Dec 2005 05:47:08 GMT
Lines: 54
Message-ID: <4075isF18utn8U3@individual.net>
References: <40656sF18epvjU1@individual.net> <439deea0@news.vcd.cl>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: individual.net FsS33EnnnxojEe/5dHcnJwsGtXi3tF8p21A00Q92Bix6rtjCEb
X-Orig-Path: not-for-mail
User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (CYGWIN_NT-5.1/1.5.18(0.132/4/2) (i686))