Mark Ovens wrote:
> 
> On Fri, Aug 27, 1999 at 08:45:31PM -0400, Sergey Babkin wrote:

> >
> > A funny thing is that Microsoft is porting essentially a
> > 32-bit version of Windows to Merced. All the programs for
> > Windows that want to use 64-bit support will have to be
> > modified because the MS compiler defines both int and long
> > as 32-bit. On the other hand the Unix compilers (at least
> > UnixWare and as far as I understood that's the common Unix
> > convention) provide a mode with 64-bit longs that gives
> > certain degree of 64-bit awareness just by recompiling.
> >
> 
> marder-1:/usr/marko{57}% cat > size.c
> #include <stdio.h>
> 
> int main (void)
>         {
>         printf("short == %d\n", sizeof(short));
>         printf("int == %d\n", sizeof(int));
>         printf("long == %d\n", sizeof(long));
>         printf("long long == %d\n", sizeof(long long));
> 
>         return(0);
>         }
> ^D
> marder-1:/usr/marko{57}% cc !$
> marder-1:/usr/marko{57}% ./a.out
> short == 2
> int == 4
> long == 4
> long long == 8
> marder-1:/usr/marko{57}%
> 
> And the same is true on SunOS 4.1.x as well (although not 100% sure
> about "long long").

I was talking about compilers for the 64-bit machines. As far
as I understood to make porting easier the major Unix vendors
have agreed on 2 64-bit modes in addition to the compatibility
32-bit mode:

- 32-bit int, 32-bit long, 64-bit long long, 64-bit pointers
- 32-bit int, 64-bit long, 64-bit long long, 64-bit pointers

While the 64-bit Windows NT has 32-bit int, 32-bit long,
64-bit long long, 32-bit pointers, 64-bit some special
kind of pointers.

Although I may be confusing something.

-SB


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to