Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1367
News FAQ
Search Home


next up previous contents
Next: Porting Considerations Up: Note 227: 64-Bit Compiler Considerations Previous: Contents

Subsections


Introduction

Motivation

To take advantage of large memory machines available at the NCSA we need to move beyond 32-bit pointers because they limit the amount of memory to 1 Gb. Additionally, with a 64bit Linux and the IA64 Intel processor series on the horizon, it behooves us to be fully "64-bit" clean sooner rather than later. AIPS++ already has working 64-bit builds on the Dec Alpha and SGI Origin series using architecture-specific #ifdef macros (e.g. __alpha or _sgi*) to handle the critical 64-bit differences. All 64-bit differences have not been addressed throughout the library, however, and we need to define coding rules and conventions for this purpose. They may be implemented incrementally however.

Background

Here's a table lifted from the "SGI MIPSpro 64-bit Porting and Transition Guide". It shows how long each of the types are in bits. Note that longs and pointers have different sizes depending on compiling using 64- or 32-bit modes.

C type 32-bit 64-bit
char 8 8
short int 16 16
int 32 32
long int 32 64
long long int 64 64
pointer 32 64
float 32 32
double 64 64
long double 64 128


next up previous contents
Next: Porting Considerations Up: Note 227: 64-Bit Compiler Considerations Previous: Contents   Contents
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-03-28