#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]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS