|
From: | Bob Friesenhahn |
Subject: | Re: [Openexr-devel] Visual Studio 2k5 beta 2 generates 1000 warnings compiling OpenEXR... |
Date: | Tue, 30 Aug 2005 14:17:20 -0500 (CDT) |
On Tue, 30 Aug 2005, Florian Kainz wrote:
Let me qualify this... we've tested OpenEXR on 32-bit and 64-bit Linux (on X86-64, not Itanium), and on 32-bit Windows. As far as we know, we don't rely on "long" being the same size as a pointer. In a few places, where we really need 64-bit integers, we use Int64, which is defined as "unsigned __int64" on Windows.
Ahhh. Expect some things to break.One thing I see in my own code is that Windows thread local storage APIs (Tls*) are used. In the WIN32 API, the size of the storage element is a 'DWORD' which is just a 32-bit long. The 'long' type remains a 32-bit size so presumably DWORD also remains a 32-bit size. Naturally we want to put pointers in there. Storing a pointer works for 32-bit Windows but would break with 64-bit pointers.
Bob ====================================== Bob Friesenhahn address@hidden, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
[Prev in Thread] | Current Thread | [Next in Thread] |