Saturday, April 28, 2012

Data Model of System

Data Model usually expressed using integer, long and pointer (ILP) size.  For example, ILP32 means the integer, long and point are all of size 32-bits.  LP62 means that long and pointer are 64-bit and integer are 32-bits (not specified).  LLP means integer and long are 32-bits but long long and pointer are 64-bits.  Note that char and short are 8 and 16-bits in all models.

Most compilers uses ILP32 for 32-bit code LP64 for 64-bit code.  Most major UNIX distributions including Mac OS X use LP64 model except Windows uses LLP64.  C program runs well on 32-bit system (ILP32) may not work in LP64.

No comments: