Linux: Обнаружение 64-разрядного ядра (длинный режим) из 32-разрядной программы пользовательского режима

Какой лучший и самый надежный способ определить, работает ли 32-битная программа в пользовательском режиме на 64-битном ядре или нет (т.е. если система находится в длинный режим ')? Я бы предпочел не вызывать внешние программы, если это возможно (или загружать какие-либо модули ядра).

Примечание: Я хочу определить, используется ли 64-битное ядро ​​(или действительно, находится ли процессор в длинном режиме), а не просто наличие 64-битного процессора ( / proc / cpuinfo сообщает мне это, но не то, используется ли 64-битная возможность).

Ядро подделывает 32-битный процессор, если uname скомпилирован 32-битным или если используется setarch i686 .

5
задан atomice 10 May 2011 в 14:58
поделиться