在用户空间代码中,使用宏__WORDSIZE,包括在<bits/wordsize.h>中。然而,当我进行Linux内核编程时,__WORDSIZE似乎不可用。
如果包含<bits/wordsize.h>,它将收到一个编译错误,即:
error: bits/wordsize.h: No such file or directory但是,如果不包括<bits/wordsize.h>,它将收到另一个编译错误,即:
error: ‘__WORDSIZE’ undeclared.内核编程似乎不支持<bits/wordsize.h>头文件。我应该做什么来确定Linux内核编程中的字数?
我的编译器版本是gcc (GCC) 4.4.6。
发布于 2014-11-13 14:11:51
Linux下的每个受支持的体系结构都将中的BITS_PER_LONG定义为C long类型的长度,即系统字大小。
发布于 2014-11-15 03:13:51
任何体系结构中的字大小都相当于长数据类型的大小。所以使用#define __WORDSIZE sizeof(long)
您也可以使用指针的大小。
https://stackoverflow.com/questions/26910505
复制相似问题