🐙

なぜ1Uを使うのか?1じゃ駄目なのか?

に公開

1Uとは何か? 1じゃ駄目なの?

/include/linux/nodemask.h
#define nr_node_ids		1U
#define nr_online_nodes		1U

https://stackoverflow.com/questions/4192440/is-there-any-difference-between-1u-and-1-in-c

1Uとはunsignedで符号なしの1のこと。
ビットシフト演算のとき、1より1Uの方がコンパイル警告が出ない。
シフト演算をするときは1Uにした方が良い。
1U << i

試しにnr_node_idsを1に変更してビルドしてみましたが、私の環境では警告は出ませんでした。

/include/linux/nodemask.h
#define nr_node_ids		1
#define nr_online_nodes		1

Discussion