预处理-大小端

检查包含预处理指令,对源代码进行相应的转换
删除程序中的注释和多余的空白字符

预处理指令

#if/#ifdef/#ifndef/#else/#elif/#endif (条件编译)
#define (宏定义)
#include
#line (行控制)
#error (错误指令)
#pragma
# (空指令)

大小端

#include <asm/byteorder.h>

struct tcphdr {
     __be16    source;
     __be16    dest;
     __be32    seq;
     __be32    ack_seq;
#if defined(__LITTLE_ENDIAN_BITFIELD)
     __u16     res1:4,
          doff:4,
          fin:1,
          syn:1,
          rst:1,
          psh:1,
          ack:1,
          urg:1,
          ece:1,
          cwr:1;
#elif defined(__BIG_ENDIAN_BITFIELD)
     __u16     doff:4,
          res1:4,
          cwr:1,
          ece:1,
          urg:1,
          ack:1,
          psh:1,
          rst:1,
          syn:1,
          fin:1;
#else
#error    "Adjust your <asm/byteorder.h> defines"
#endif    
     __be16    window;
     __sum16   check;
     __be16    urg_ptr;
};
原文地址:https://www.cnblogs.com/zhangxuechao/p/11709827.html