亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 內(nèi)核代碼中的 _be32是什么數(shù)據(jù)類型? [打印本頁]

作者: wykitty    時間: 2010-08-25 16:49
標題: 內(nèi)核代碼中的 _be32是什么數(shù)據(jù)類型?
最近在學(xué)習romfs,看它的源代碼時不知道 _be32是什么數(shù)據(jù)類型.



知道 _u32的意思是32位整數(shù)類型 _u32 = unsigned long int

但是不知道_be32

列如 在函數(shù)romfs_checksum(void *data, int size)中有:
const _be32 *ptr = data;

(新手拜求)
作者: wykitty    時間: 2010-08-25 17:30
抱歉,有點問題··

是 __be32


我在<include/linux/types.h>
看到了這一行
typedef __u32 __bitwise __be32;

但是依舊不太理解
作者: wykitty    時間: 2010-08-26 10:22
..貌似明白了·
由··
typedef __u32 __bitwise __be32;
就知道__be32 就是__u32數(shù)據(jù)類型··即·unsigned long int


但是現(xiàn)在我有個問題就是 u32,_u32,__u32這幾個有什么區(qū)別?
作者: platinum    時間: 2010-08-26 15:30
u32 是無符號 32bit 整型
be32 是有符號 32bit 整型

u32 和 __u32 實際是一樣的,但沒見到過 _u32
作者: wykitty    時間: 2010-08-27 10:40
回復(fù) 4# platinum


您好!
首先,嗯,應(yīng)該是我看的這本書有錯誤···  _u32是不存在的
然后我想說的是:
對于您說的__be32是有符號整型,我有點異議:

__bitwise 是一中類型屬性,位整數(shù)

那么typedef __u32 __bitwise __be32應(yīng)該說明的是__be32 和__u32是一樣的,表示的是無符號長整型?
作者: platinum    時間: 2010-08-30 16:35
內(nèi)核中是那么用的,具體二者到底有什么實質(zhì)性區(qū)別,我沒有研究過,實在是慚愧,呵呵
作者: wykitty    時間: 2010-08-30 17:20
回復(fù) 6# platinum



嗯··呵呵···差不多理解了···

謝謝哈···
作者: omycle    時間: 2010-09-05 13:10
回復(fù) 7# wykitty


    一般情況下,在內(nèi)核中變量名加兩個下劃線的,是內(nèi)核內(nèi)部用的底層數(shù)據(jù)結(jié)構(gòu)。當然,我們也可以用,不過最好是用不加下劃線的。
作者: tempname2    時間: 2010-09-09 18:02
be = big endian
作者: frank529    時間: 2010-09-11 16:04
be是big endian,之所以用__be32是為了避免用int在16位和32位處理器上定義出來的變量長度不一致
作者: siasjack    時間: 2013-12-10 10:13
不錯  學(xué)習了!




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2