struct audio_policy_service_ops {

audio_io_handle_t (*open_duplicate_output)(void *service,audio_io_handle_t output1,
     int (*close_output)(void *service, audio_io_handle_t output);audio_io_handle_t output2);
     int (*suspend_output)(void *service, audio_io_handle_t output);
     int (*restore_output)(void *service, audio_io_handle_t output);
};

现在它们正在初始化,如下所示:
struct audio_policy_service_ops aps_ops = {
    open_duplicate_output : aps_open_dup_output,
    close_output          : aps_close_output,
    suspend_output        : aps_suspend_output,
    restore_output        : aps_restore_output,
};

最佳答案

这是结构的非标准、gcc特定的初始化语法。俗称“旧式gnu struct init语法”。它的标准等价物是

struct Foo bar = { .name1 = value1, .name2 = value2 };

你可以阅读更多关于它的in the GCC documentation

10-07 13:52
查看更多