2016-04-11 64 views
0

如以下代碼所示,cvmx_fau_reg_64_t中的0和CVMX_FAU_REG_64_ADDR(0)之間的區別是什麼?枚舉中的值是什麼?

#define CVMX_FAU_REG_64_ADDR(x) ((x <<3) + CVMX_FAU_REG_64_START) 
typedef enum 
{ 
    CVMX_FAU_REG_64_START   = 0, 
    CVMX_FAU_REG_64_END   = CVMX_FAU_REG_64_ADDR(0), 
} cvmx_fau_reg_64_t; 
+0

請注意,_enum-constants_總是類型爲「int」,而'enum'類型本身也不大於'int'。因此,對於'int'小於64位的典型體系結構,您會遇到使用較大常量的問題。 ()這只是看起來可疑的名字) – Olaf

回答

0

在寫入的代碼中,兩個值均爲== 0.實際值沒有差異。

+0

那麼CVMX_FAU_REG_64_START和CVMX_FAU_REG_64_END之間有什麼區別? – zhengk

+0

他們被拼寫的方式。你基本上有兩個標識符解決相同的事情。 – Pemdas