0

Linuxでは/usr/include/net/if.h、構造体のstruct ifaceがインターフェイスへのバックポインタとして言及されてifaddrいますが、この構造体を定義するヘッダーファイルを取得できません。

誰かが知っているなら私を助けてください!!!

4

2 に答える 2

0

struct ifaddrは不完全な型です。これは、コードがコンパイルされることを意味しますが、へのポインタを参照解除struct ifaceするか、他の割り当てを行うと、エラーが発生します。前に述べたように、struct ifaceレガシーの理由でのみメイン構造に保持されます。

struct ifaddr
  {
    struct sockaddr ifa_addr;   /* Address of interface.  */
    union
      {
        struct sockaddr ifu_broadaddr;
        struct sockaddr ifu_dstaddr;
      } ifa_ifu;
    struct iface *ifa_ifp;      /* Back-pointer to interface.  */
        struct manav p[8];
    struct ifaddr *ifa_next;    /* Next address for interface.  */
  };

参照:不完全な型へのポインターの間接参照

于 2012-12-04T08:40:24.550 に答える
0

まあ、それはその構造を維持するために構造体に保持されている単なるレガシーコードのように見えます。

于 2012-12-03T09:51:19.803 に答える