北大青鸟光谷校区

北大青鸟光谷校区

  • 北大青鸟徐东校区
  • 北大青鸟光谷校区
  • 北大青鸟高新校区
  • 荆州青鸟之家
  • 襄阳青鸟之家

17740513250

百日千才

利用C语言预处理器形成链表-武汉北大青鸟

发布日期:2023-03-31来源:武汉北大青鸟武汉校区作者:武汉宏鹏

  【利用C语言预处理器形成链表-武汉北大青鸟】利用C语言预处理器的顺序Parse特性形成了一个链表。技巧都在IPPROTO_PREVIOUS 宏,引用#define以及#undefine,形成一个链表赋值给inet_protocol_base .

  #define IPPROTO_PREVIOUS NULL

  #ifdef CONFIG_IP_MULTICAST

  static struct inet_protocol igmp_protocol =

  {

  igmp_rcv, /* IGMP handler */

  NULL, /* IGMP error control */

  IPPROTO_PREVIOUS, /* next */

  IPPROTO_IGMP, /* protocol ID */

  0, /* copy */

  NULL, /* data */

  "IGMP" /* name */

  };

  #undef IPPROTO_PREVIOUS

  #define IPPROTO_PREVIOUS &igmp_protocol

  #endif

  static struct inet_protocol tcp_protocol =

  {

  tcp_v4_rcv, /* TCP handler */

  tcp_v4_err, /* TCP error control */

  IPPROTO_PREVIOUS,

  IPPROTO_TCP, /* protocol ID */

  0, /* copy */

  NULL, /* data */

  "TCP" /* name */

  };

  #undef IPPROTO_PREVIOUS

  #define IPPROTO_PREVIOUS &tcp_protocol

  static struct inet_protocol udp_protocol =

  {

  udp_rcv, /* UDP handler */

  udp_err, /* UDP error control */

  IPPROTO_PREVIOUS, /* next */

  IPPROTO_UDP, /* protocol ID */

  0, /* copy */

  NULL, /* data */

  "UDP" /* name */

  };

  #undef IPPROTO_PREVIOUS

  #define IPPROTO_PREVIOUS &udp_protocol

  static struct inet_protocol icmp_protocol =

  {

  icmp_rcv, /* ICMP handler */

  NULL, /* ICMP error control */

  IPPROTO_PREVIOUS, /* next */

  IPPROTO_ICMP, /* protocol ID */

  0, /* copy */

  NULL, /* data */

  "ICMP" /* name */

  };

  #undef IPPROTO_PREVIOUS

  #define IPPROTO_PREVIOUS &icmp_protocol

  struct inet_protocol *inet_protocol_base = IPPROTO_PREVIOUS;

        想了解更多java相关技术以及软件开发技术请继续关注武汉北大青鸟官网。

关闭

只为了方便您就学 北大青鸟光谷校区 北大青鸟武汉校区

武汉市洪山区珞喻路724号(地铁二号线光谷广场站F口出

Copyright (c) 2006-2023 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.