预处理-大小端

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

预处理指令

#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;
};
posted @   thomas_blog  阅读(149)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示