> 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.
I see... so the right way to right this is really:
#ifdef __cplusplus
#define ompi_cast_to_int(x) static_cast<int>(x)
#else
#define ompi_cast_to_int(x) (x)
#endif
intval = ompi_cast_to_int(stroul(foo));
Right? ;)
- R.