Installation guide

Replace this coding with a union declaration. Be thorough when
migrating this type of code to a 64-bit system, because the
interdependencies and incompatibilities between these two structures
might be difficult to find.
Examine all assignments of a long to a double as this can result in a
loss in accuracy.
On a 32-bit system, code can assume that a double contains an exact
representation of any value stored in a long (or a pointer). By default,
a long is 32 bits and a double is 64 bits with 48 bits of mantissa.
On a 64-bit DIGITAL UNIX system, this is no longer a valid
assumption. For example, the following code executes differently on a
32-bit and 64-bit machine:
#include <stdio.h>
long l = 7777777777777777777L;
long l2;
double d;
main()
{
d=l;
l2 = d;
if(l == l2)
printf("On a 32-bit machine\n");
else
printf("On a 64-bit machine\n");
return(0);
}
7.3.4.3 The sizeof Operator
The result of the sizeof operator is of type size_t, which is an
unsigned long on Alpha systems.
7.3.4.4 Pointer Subtraction
The length of the integer required to hold the difference between two
pointers to members of the same array, ptrdiff_t ( stddef.h ), is a
signed long on Alpha systems.
7.3.4.5 Functions with a Variable Number of Arguments
When writing a routine that receives a variable (context-dependent)
number of arguments, you must use the stdargs (stdarg.h)orvarargs
7–18 Migrating Your ULTRIX Application to a DIGITAL UNIX System