That's right, long and int have the same size on Windows 32 and 64 bits (always 32 bits). However, they are considered as being different types (!!!).

The main problem came from the fact that if we want to use our modular approach on Windows (DLL loaded at runtime) we have to compile in C++ mode. The C++ compiler consider the types int and long as being different (even if they have the same number of bytes). No implicit cast is allowed by the VC compiler when in C++ mode. Therefore, we have to force an explicit cast everywhere.

  george.

On Apr 18, 2007, at 1:04 PM, Roland Dreier wrote:

So, either we add the explicit cast from the beginning or I will have
to add it next time I compile on Windows ...

I thought the problem with Windows was that long was always 32 bits
(the same size as int) even on 64-bit platforms?

 - R.
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to