"Vincent Béron" vberon@mecano.gme.usherb.ca wrote:
Changelog: Change the type of LONG and DWORD to be int based instead of long based for Win64 compatibility.
It would be cleaner IMO to use that only when compiling with _WIN64 defined, that would avoid affecting the Win32 target.
-- Dmitry.
Le sam 16/10/2004 à 23:45, Dmitry Timoshkov a écrit :
"Vincent Béron" vberon@mecano.gme.usherb.ca wrote:
Changelog: Change the type of LONG and DWORD to be int based instead of long based for Win64 compatibility.
It would be cleaner IMO to use that only when compiling with _WIN64 defined, that would avoid affecting the Win32 target.
Dimi thought like you (and me too), but that's not what Alexandre thought on IRC yesterday. One of the things is that if we have different definitions on Win32 and Win64, the TRACEs and others will always spew lots of warnings in one or the other case. With the same definition, we can get it right on both.
I still don't know what to do about code using explicit "long" in Win64, especially as it can be in a Unix API or a Win32/64 API.
Vincent
"Vincent Béron" vberon@mecano.gme.usherb.ca wrote:
It would be cleaner IMO to use that only when compiling with _WIN64 defined, that would avoid affecting the Win32 target.
Dimi thought like you (and me too), but that's not what Alexandre thought on IRC yesterday. One of the things is that if we have different definitions on Win32 and Win64, the TRACEs and others will always spew lots of warnings in one or the other case. With the same definition, we can get it right on both.
That's a good argument of course, but that can alien away ReactOS or other guys using Wine headers and code.
I still don't know what to do about code using explicit "long" in Win64, especially as it can be in a Unix API or a Win32/64 API.
Just replace such cases by LONG, INT and similar compatibly interchangeable types.
-- Dmitry.