2012-03-13 300 views

回答

7

我發現(source)和that

類型標識符

以下類型標識符對應U16,U32,和U64的類型,除了它們與按位屬性,這是用來定義限制它們作爲整數使用。在對變量執行其他(不安全)操作之前,稀疏實用程序將使用bitwise屬性來確保將變量轉換爲本地處理器類型。

在包含linux/kernel.h頭文件後,可以使用以下類型用於endian依賴變量。

__le16 
__le32 
__le64 


__be16 
__be32 
__be64 
+0

注意:源代碼已過時,在[linux/types.h](http://lxr.free-electrons.com/source/tools/include/linux/types.h)中定義了類型(自Linux 3.16起) – pevik 2017-02-22 17:25:01

0

根據Documentation/sparse.txt

而且用gcc,所有__bitwise/__force的東西消失了,這一切 最終看起來就像整數海灣合作委員會。

所以我的理解是:

一個。它僅用於類型檢查。

b。如果您有

typedef __u16 __bitwise __my_type1; 
typedef __u16 __bitwise __my_type2; 

如果將__my_type1指定爲__my_type2,則稀疏將發出警告。

c。 __bitwise只意味着順序敏感,它沒有指定大端或小端。

對嗎?