Ubuntu 64-бит это LP64?

Я так понял, что для 64-бит есть несколько моделей: LP64, ILP64, LLP64. Я хотел бы спросить, какой из них используется с 64-битной Ubuntu (и gcc, используемый в этой Ubuntu)?


person ransh    schedule 26.02.2015    source источник
comment
Привет, Паскаль, спасибо. Что такое командная строка для предоставления этой информации?   -  person ransh    schedule 26.02.2015


Ответы (1)


Ответ заключается в том, что 64-разрядная версия Ubuntu предлагает компиляцию I32LP64.

Вы можете определить это для себя с помощью следующего кода:

$ cat t.c
#include <stdio.h>
#include <limits.h>
int main(void) { 
  printf("%zu %zu %zu\n", 
    CHAR_BIT*sizeof(int),
    CHAR_BIT*sizeof(long),
    CHAR_BIT*sizeof(void*));
}
$ gcc t.c && ./a.out 
32 64 64
person Pascal Cuoq    schedule 26.02.2015