At 12:54 PM 3/11/2005, Peter Shenkin wrote:
>Hi,
>
>On Fri, 11 Mar 2005, 12:56pm -0500, [log in to unmask] wrote:
> > Speaking for Intel Fortran, default storage sizes are unchanged in the
> > x64 environment. The size of an address is 64-bits...
>
>So ints and longs are 32 bits and pointers are 64 bits?
>
>That strikes me as strange. You could then allocate an array
>that you could not fully index into. I was under the impression
>that implementations -- whatever else they did -- made pointers
>and longs the same size.
You are correct about the usual linux/unix treatment, but Windows has
32-bit long for both 32- and 64-bit versions. I don't entirely understand
your statement. Are you talking about trying to use long to index into a
large array on the C side? It becomes an unsuitable definition for certain
C contexts, but there are other int types, both portable and
Microsoft-specific. Fortunately, Fortran, even on Windows, doesn't have so
much Microsoft specific syntax. Even the vendors of Fortran for Microsoft
CLR have minimized the extensions they have added to Fortran.
Tim Prince
|