linuxのメモ

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

ユーティリティー - offsetof()

概要

構造体に含まれるメンバのoffsetを取得する

詳細

__compiler_offsetof()が定義されている場合は__compiler_offsetof()を実行するが、未定義の場合は以下の処理で算出する

構造体をアドレス0から始まるポインタとして定義し、メンバ変数のアドレスを取得する

これによって、メンバ変数が構造体の先頭からのoffset値が算出できるようになる