1

В коде пользовательского пространства используется макрос __WORDSIZE, включенный в <bits/wordsize.h>. Однако, когда я занимаюсь программированием ядра Linux, __WORDSIZE кажется недоступным.Как определить словосочетание в программировании ядра Linux?

Если <bits/wordsize.h> включен, он получит сообщение об ошибке компиляции, говоря:

error: bits/wordsize.h: No such file or directory 

но если <bits/wordsize.h> не включен, он получит другую ошибку компиляции, говоря:

error: ‘__WORDSIZE’ undeclared. 

кажется что программирование ядра не поддерживает заголовочный файл <bits/wordsize.h>. Что я должен сделать, чтобы определить словосочетание в программировании ядра Linux?

P.S. моя версия компилятора - gcc (GCC) 4.4.6.

+0

Стратегия решения такой проблемы может заключаться в том, чтобы подумать о том, почему вы должны знать. Затем подумайте о существующих функциональных возможностях ядра с тем же требованием и посмотрите, как это делается там. –

+0

Потому что я хочу написать другую цель кода на x86 и x64, а '#if __WORDSIZE == 32' - хороший способ сделать это. – Victor

+0

Как насчет цели, которой нет? –

ответ

-1

Слово Размер в любой архитектуре эквивалентно размера длинного типа данных. Таким образом, использование #define __WORDSIZE sizeof(long)

Вы также можете использовать указатель размера.

 Смежные вопросы

  • Нет связанных вопросов^_^