结构中的 (file_t)(-1),0, 是什么意思?

WHAT DOES (file_t)(-1),0, IN THE STRUCTURE MEAN?

我正在根据需要对 atheros SDK 进行更改,并希望了解结构中使用的原因和目的 (file_t)(-1), 0:

  struct channel channel =
{
        (file_t)(-1),
        0,
        CHANNEL_ETHNUMBER,
        CHANNEL_ETHDEVICE,
        {
                0x00,
                0xB0,
                0x52,
                0x00,
                0x00,
                0x01
        },
        {
                0x00,
                0x00,
                0x00,
                0x00,
                0x00,
                0x00
        },
        0x0000,

#if defined (__linux__)

#elif defined (__APPLE__) || defined (__OpenBSD__)

        0,
        0,
        0,
        0,

#elif defined (WINPCAP) || defined (LIBPCAP)
        (pcap_t *)(0),
        {
                0
        },

#else
#error "Unknown Environment"
#endif

        CHANNEL_TIMEOUT,
        CHANNEL_OPTIONS
};

我不会探索 SDK,如果有人建议开始,我会提供帮助。 谢谢。

您已将变量 channel 的声明呈现为 struct channel 类型的结构。您询问的代码在这个变量的初始值设定项中:

    (file_t)(-1),
    0,

这些值用于初始化 channel 的前两个成员。第一个是 -1,强制转换为类型 file_t(必须在前面定义),第二个是它本身。

这些成员的含义取决于struct channel的详细信息及其使用方式,您没有提供。