北大青鸟光谷校区

北大青鸟光谷校区

  • 北大青鸟鲁广校区
  • 北大青鸟光谷校区
  • 北大青鸟宏鹏IT校区
  • 荆州青鸟之家
  • 襄阳青鸟之家

17740513250

百日千才

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

2012-12-31 14:39:57来源:武汉北大青鸟光谷校区作者:北大青鸟宏鹏光谷校区

  【利用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相关技术以及软件开发技术请继续关注武汉北大青鸟官网。

关闭

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

武汉市江夏区庙山街道华泰街16号(北大青鸟综合大楼)

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