0

Linuxカーネルでは、カーネル構造体のメンバー変数のオフセットを見つける必要があります。offsetof を使用しようとしましたが、未定義の構造体があると主張しました。ユーザー空間で行うことは可能ですか?カーネル構造体はユーザー空間での使用が許可されていないため、offsetof を使用して見つけることができません。これを見つける別の方法はありますか?

4

1 に答える 1

0

カーネルでは、次を使用します。

#include <linux/stddef.h>

次のように定義されています。

#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)

これは、Linux カーネル全体で使用されます。

ユーザーモードでこれを使用しようとしている場合、同様の構造が libc インクルードに存在する可能性があります。

于 2013-03-14T16:36:34.857 に答える