LINUX.ORG.RU

Определить архитектуру


0

0

Переделываю один модель ядра под 64 битную архитектуру, вот и хотелось бы узнать как коректно узнать какая архитектура используется?

Есть предположение через sizeof(int) например, но я думаю существует что то получше...


Ответ на: комментарий от Motl

Надо в модуле определить который пишу, что бы если одна архитектура было так зделано а если другая то по другому. Вот покопался нашел строчку #define CONFIG_64BIT.

Spank
() автор топика

sizeof(int)на x86 == sizeof(int)на x86_64

xnix ★★
()

Spank :

А зачем?

Архитектуры ж не только битностью различаются!

Если sizeof(char*) == 8, то, наверное, какая-то разновидность 64битной архитектуры. Можешь тест прогнать -- влево единичку, пока она не станет 0, тогда точно все биты пересчитаешь, даже если в char'е их не 8...

Die-Hard ★★★★★
()

А как насчет того кто это - винда или Лунь??? (sorry за небольшой оффтоп)

knoppix
()
Ответ на: комментарий от iBliss

iBliss (*) (23.05.2006 2:56:45):

> В 32-битной взависимости от локали... А sizeof(int) врать не станет...

Ты сам-то понял, что сказал? :)

Вне зависимости от локали на 32-битной архитектуре sizeof(char*) вернет 4 (а sizeof(char) 1).

А sizeof(int) вернет 4 почти на всех современных архитектурах, и 32-битных, и 64-битных.

Die-Hard ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.