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.