The decision to compile in 64-bit mode depends on your application's
virtual memory requirements.
Applications requiring more than .75GB of private data or
more than 1.75GB of shared memory should transition to 64-bit mode.
In 32-bit mode, the largest address space, by default, that
a single process can allocate is as follows:
If you need to declare huge data objects, you must compile
in 64-bit mode. See “Huge Data”
for more information.
Applications using the following features to extend the address
space in 32-bit mode should also transition to 64-bit mode:
-N
linker option (EXEC_MAGIC
flag) to access private data spaces larger than .75 GB
-M
option to chatr (SHMEM_MAGIC
flag) to access shared memory larger than 1.75 GB
 |
 |  |
 |
 | NOTE: The SHMEM_MAGIC functionality
will be unsupported on a future implementation of the architecture. |
 |
 |  |
 |
If your application uses data files that are greater than
2GB, you can use the large file interface64()
routines in 32-bit mode on HP-UX 32-bit and 64-bit platforms. These
routines are known as the *64() APIs. To
access files larger than 2 GB using standard I/O
routines, you must transition to 64-bit mode.
64-bit main programs can only call 64-bit libraries. Therefore,
library providers for 64-bit applications must transition their
libraries to 64-bit mode.