#author("2025-10-28T10:09:59+09:00","default:guest","guest") #author("2025-10-28T10:11:07+09:00","default:guest","guest") *参照元 [#y8e62a78] #backlinks *説明 [#qf649044] -パス: [[linux-5.15/include/linux/compiler_types.h]] -2つの変数の型が等しいかどうかを判定します。 --qualifiers(constやvolatile)が付いていても等しいと判断されます。 **引数 [#m4f9d8d6] -a --1つ目の変数 -b --2つ目の変数 **返り値 [#j1248c2d] -int --aとbの型が同じであれば1、そうでなければ0 **参考 [#tf2b33e2] *実装 [#cc61b256] /* Are two types/vars the same type (ignoring qualifiers)? */ #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) -__builtin_types_compatible_p()はGCCの組み込み関数で、引数には型を2つ取り(変数や値は取らない)、同じ型であれば1、違う型であれば0を返す。 -typeof()はGCCの拡張構文で引数に指定した変数の型を返す。__typeof__と書いても良いらしい。 *コメント [#r9da68d2]