0
typedef void (*work_func_t)(struct work_struct *work);

Linuxカーネルのソースコードで上記のtypedefを見つけましたが、理解できません。誰か説明してもらえますか?ありがとう!

補体:

struct work_struct {
    atomic_long_t data;
#define WORK_STRUCT_PENDING 0       /* T if work item pending execution */
#define WORK_STRUCT_STATIC  1       /* static initializer (debugobjects) */
#define WORK_STRUCT_FLAG_MASK (3UL)
#define WORK_STRUCT_WQ_DATA_MASK (~WORK_STRUCT_FLAG_MASK)
    struct list_head entry;
    work_func_t func;
#ifdef CONFIG_LOCKDEP
    struct lockdep_map lockdep_map;
#endif
};

「typedef」に続く上記のコードから、私は今それを理解することができました。@piokucは正しいです、ありがとう!

4

1 に答える 1

2

work_func_t関数へのポインタの型エイリアスであり、struct work_struct唯一のパラメータとしてへのポインタを受け入れ、何も返さない(void)。

于 2012-11-16T15:40:46.247 に答える