πŸš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #2365

Re: Portar codigo C entre maquinas de 32/64 bits?

#2365
From: Andres E. Hernando
Date: Tue, 13 Dec 2005 05:47
54 lines
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-mail
References: <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))