数据类型u_int32_t和int有什么区别
问题更新日期:2024-11-01 06:45:04
问题描述
数据类型u_int32_t和int有什么区别求高手给解答
- 精选答案
-
驱动开发的原则:能用__u32就最好用它,或者用u_int32_t之类的也可以,但不要直接用unsigned int等默认的数据类型。
目的是让别人明白,你这个变量占多大内存
。原因:你不能确定你的代码未来只在一个平台上运行,它可能会被移植到非Linux平台(确实有很多人这么做),它可能运行在不同的CPU平台,比如64位环境,非x86环境。因为C语言中并未明确规定int一定要占多少字节
,只是规定了long >= int >= short,所以__u32就是告诉别人,这变量占4字节。同样的:__iomem也是能加就加,这样当你的驱动被别人维护的时候,别人会明白,这块内存是用于IO的,可DMA的,而不是paged-memory。说到底,这是一种良好的编码风格
,确实,不加这些东西,对于编译和运行来说,可能是无任何影响的,但是,不写注释的代码一样也对编译和运行无影响,你敢一句注释都不写吗?
--------------------------------------驱动中使用哪种类型最标准,这个没有正确答案,但建议是不使用C语言原始的数据类型(char/short/int/long),而是使用有明确字节大小的数据类型(u_int32_t/__u32/uint32_t/DWORD/UINT32均可)。保持代码风格的一致性即可。Linux社区提倡开放,并不严格限制开发者必须用哪种类型,一切都只是建议使用
。但有一种情况是例外的:开发标准库函数,比如自己实现strlen,那么返回值就必须是size_t,因为标准库是标准的。
猜你喜欢内容
-
简单网:构建全网教育数据枢纽,让知识检索化繁为...
简单网:构建全网教育数据枢纽,让知识检索化繁为“简”回答数有0条优质答案参考
-
去三亚有什么好玩的地方
去三亚有什么好玩的地方回答数有1条优质答案参考
-
石狮一日游必去景点推荐
石狮一日游必去景点推荐回答数有1条优质答案参考
-
电气工程师的证书考取条件是什么
电气工程师的证书考取条件是什么回答数有1条优质答案参考
-
房地产估价师的具体报考条件有啥
房地产估价师的具体报考条件有啥回答数有1条优质答案参考
-
房产经纪人的工作内容具体包含什么
房产经纪人的工作内容具体包含什么回答数有1条优质答案参考
-
学习小提琴都有哪些难点
学习小提琴都有哪些难点回答数有1条优质答案参考
-
企业行政管理证书的含金量怎么样
企业行政管理证书的含金量怎么样回答数有1条优质答案参考
-
初学者要怎么入门小提琴
初学者要怎么入门小提琴回答数有1条优质答案参考
-
报考珠宝鉴定师要啥条件
报考珠宝鉴定师要啥条件回答数有1条优质答案参考
















