linuxのメモ

Linux kernelの実装を解説していきます (対象ver 4.5)

bit操作 - small_const_nbits()

概要

値がBITS_PER_LONG以下の定数であることを確認する

詳細

引数で受け取った値が定数でかつBITS_PER_LONG以下の場合は1を、それ以外の場合は0を返す

BITS_PER_LONG以上の大きさの値はunsigned long型の変数に収まらないため、ここで確認する値は受け取ったbit数が1要素に収まるかどうかの判断に使える

また、定数の確認はコンパイラの組込み関数である__builtin_constant_p()で行う