Predefined Data Types
In C and C++ code, use the AlTypes.h typedefs when referring to integral types. These typedefs provide an easy way to specify the word size of an integer variable in a cross-platform manner. The typedefs found in the AlTypes.h file provide definitions for the platforms most commonly used at A+L; when starting a project on a platform that's not yet represented in AlTypes.h, please provide definitions.
The types in AlTypes.h are:
Note that not all legacy or embedded platforms provide the underlying support for 64-bit data types.
A typical AlTypes.h looks like:
#ifndef h_AlTypes
#define h_AlTypes
#ifdef _WINDOWS
// Microsoft Visual C++ Version
typedef char SInt8;
typedef unsigned char UInt8;
typedef short SInt16;
typedef unsigned short UInt16;
typedef long SInt32;
typedef unsigned long UInt32;
typedef __int64 SInt64;
typedef unsigned __int64 UInt64;
#else // Macintosh version
#ifndef __MACTYPES__
//typedef char SInt8;
typedef unsigned char UInt8;
typedef short SInt16;
typedef unsigned short UInt16;
typedef long SInt32;
typedef unsigned long UInt32;
typedef long long SInt64;
typedef unsigned long long UInt64;
#endif
#endif
#endif /* This must be the final line in this file. */
Each project should make modifications as appropriate for the platform and compiler in use.