首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定Linux内核编程中的字长?

问如何确定Linux内核编程中的字长?
EN

Stack Overflow用户
提问于 2014-11-13 13:54:38
回答 2查看 917关注 0票数 2

在用户空间代码中,使用宏__WORDSIZE,包括在<bits/wordsize.h>中。然而,当我进行Linux内核编程时,__WORDSIZE似乎不可用。

如果包含<bits/wordsize.h>,它将收到一个编译错误,即:

代码语言:javascript
复制
error: bits/wordsize.h: No such file or directory

但是,如果不包括<bits/wordsize.h>,它将收到另一个编译错误,即:

代码语言:javascript
复制
error: ‘__WORDSIZE’ undeclared.

内核编程似乎不支持<bits/wordsize.h>头文件。我应该做什么来确定Linux内核编程中的字数?

我的编译器版本是gcc (GCC) 4.4.6。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-13 14:11:51

Linux下的每个受支持的体系结构都将中的BITS_PER_LONG定义为C long类型的长度,即系统字大小。

来自http://www.makelinux.net/books/lkd2/ch19lev1sec2

票数 2
EN

Stack Overflow用户

发布于 2014-11-15 03:13:51

任何体系结构中的字大小都相当于长数据类型的大小。所以使用#define __WORDSIZE sizeof(long)

您也可以使用指针的大小。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26910505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档