размер машины 64 или 32 бита

Если я работаю над машиной Unix, как я мог знать размер машины, является ли это 64-разрядной или 32-разрядной машиной?

8
задан George Kagan 6 November 2016 в 09:31
поделиться

5 ответов

AIX вы можете сделать это:

getconf KERNEL_BITMODE

HP-UX вы можете сделать это:

getconf KERNEL_BITS

или просто:

getconf -a | grep KERN

Sun Solaris , вы можете сделать это:

isainfo -v

Для Linux, да, uname -a должен помочь

17
ответ дан 3 November 2019 в 13:09
поделиться

Если вы просто смотрите чтобы проверить архитектуру машины, на которой вы работаете,

  %> uname -a

из командной строки обычно содержит указание в выводе.

2
ответ дан 3 November 2019 в 13:09
поделиться

Вы также можете попробовать sizeof (int *) . Должно быть 4 на 32-битных машинах и 8 на 64-битных машинах.

1
ответ дан 3 November 2019 в 13:09
поделиться

Мне приходится иметь дело со многими платформами Unix, и, как правило, лучший способ, который я нашел, это посмотреть на вывод "uname -a". Например, если вы видите в выводе что-то вроде "i686 i686 i386 GNU/Linux", вы знаете, что это 32-битная машина. Если появится "amd64", то это 64. Иногда дело в том, что вы пытаетесь запустить 64-битную программу. Иногда это RTFM.

6
ответ дан 3 November 2019 в 13:09
поделиться

Предполагая, что вы хотите сделать это во время компиляции - посмотрите здесь , чтобы найти макросы архитектуры, которые вы можете протестировать. Вероятно, вы ищете __ x86_64 __ .

0
ответ дан 3 November 2019 в 13:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: