How to know which programming model is used on may Linux machine
Dave Hylands
dhylands at gmail.com
Wed Jul 25 11:36:07 EDT 2012
Hi Pritam,
On Wed, Jul 25, 2012 at 4:01 AM, Pritam Bankar
<pritambankar1988 at gmail.com> wrote:
> Hi,
>
> AFAIK there are three programming model that can be chosen on 64 bit
> environment. These models are LP64, ILP64, LLP64
>
> Question 1) But how can I know which model is used on my system ?
Write a little program to print the sizes of the various types which
distinguish the models. Something like:
#include <stdio.h>
int main(int argc, char **argv)
{
printf("sizeof(int) = %zu\n", sizeof(int));
printf("sizeof(long) = %zu\n", sizeof(long));
printf("sizeof(void *) = %zu\n", sizeof(void *));
return 0;
}
which, when run on my 64-bit system produces:
sizeof(int) = 4
sizeof(long) = 8
sizeof(void *) = 8
which according to http://www.unix.org/version2/whatsnew/lp64_wp.html
makes it an LP64 model.
> Question 2) Does long long data type is limited for LLP64 type model ?
I think that their table means that its 64 bits for all.
--
Dave Hylands
Shuswap, BC, Canada
http://www.davehylands.com
More information about the Kernelnewbies
mailing list