系统大小端的头文件定义

  系统大小端的判断,虽说可以写函数来判断,但有时需要在预处理时就知道大小端,可使用C库头文件<endian.h>来判断,写法入下:

1.#include <endian.h>
2.typedef struct {
3.    u_short id;     /* query identification number */
4.
5.#if BYTE_ORDER == BIG_ENDIAN
6.            /* fields in third byte */
7.    u_char  qr:1;       /* response flag */
8.    u_char  opcode:4;   /* purpose of message */
9.    u_char  aa:1;       /* authoritive answer */
10.    u_char  tc:1;       /* truncated message */
11.    u_char  rd:1;       /* recursion desired */
12.            /* fields in fourth byte */
13.    u_char  ra:1;       /* recursion available */
14.    u_char  pr:1;       /* primary server required (non standard) */
15.    u_char  unused:2;   /* unused bits */
16.    u_char  rcode:4;    /* response code */
17.#else
18.            /* fields in third byte */
19.    u_char  rd:1;       /* recursion desired */
20.    u_char  tc:1;       /* truncated message */
21.    u_char  aa:1;       /* authoritive answer */
22.    u_char  opcode:4;   /* purpose of message */
23.    u_char  qr:1;       /* response flag */
24.            /* fields in fourth byte */
25.    u_char  rcode:4;    /* response code */
26.    u_char  unused:2;   /* unused bits */
27.    u_char  pr:1;       /* primary server required (non standard) */
28.    u_char  ra:1;       /* recursion available */
29.#endif
30.
31.
32.            /* remaining bytes */
33.    u_short qdcount;    /* number of question entries */
34.    u_short ancount;    /* number of answer entries */
35.    u_short nscount;    /* number of authority entries */
36.    u_short arcount;    /* number of resource entries */
37.} HEADER;

这是一个结构体定义,因为使用了位域,所以大小端需要区分对待。

系统大小端的头文件定义相关推荐

  1. linux查看编译器的大小端,Linux系统大小端判断

    大端模式 大端模式,是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中. 小端模式 小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中. 判断程序 文件: ...

  2. 最简单判断系统大小端

    大端:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端.(CPU对操作数的存放方式是从高字节到低字节) 小端:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端.(CPU对操作数的存 ...

  3. 大小端字节序介绍以及判断当前环境字节序的程序【C语言】

    文章目录 1.大小端字节序介绍 2. 判断当前环境的字节序程序 1.大小端字节序介绍 首先我们先来介绍什么是大端字节序,什么是小端字节序: 大小端字节序指的是数据在电脑上存储的字节顺序 小端字节序存储 ...

  4. 利用union判断系统的大小端

    int checkCPUendian()//返回1,为小端:反之,为大端: { union{ unsigned int a; unsigned char b; }c; c.a = 1; return ...

  5. Linux系统的大小端模式

    大端模式 所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数 ...

  6. 【读书笔记】【程序员的自我修养 -- 链接、装载与库(三)】函数调用与栈(this指针、返回值传递临时对象构建栈、运行库与多线程、_main函数、系统调用与中断向量表、Win32、可变参数、大小端

    文章目录 前言 介绍 内存 内存布局 栈与调用惯例 堆与内存管理 运行库 入口函数和程序初始化 C/C++运行库 运行库与多线程 C++全局构造与析构 fread 实现 系统调用与API 系统调用介绍 ...

  7. 通俗易懂说字节序,大小端,网络序和主机序(2)htonl和ntohl 源码实现

    通俗易懂说字节序,大小端,网络序和主机序(2)htonl和ntohl 源码实现 1. htonl 内核源码实现 1.1 注意:这里有判断,如果本身内存中存储的就是网络序,那就不转 1.1 __bswa ...

  8. Python 字节串比特串转换以及大小端相关的几个方法

    大端 小端 介绍 查看当前系统是大端还是小端:sys.byteorder,Windows是小端的,而小端在我们看来是和常规反向地 关于大小端的知识,推荐几篇文章: CPU架构决定大小端模式 理解大端与 ...

  9. 大小端模式 字节序

    大.小端模式的说法,来自乔纳森·斯威夫特的小说<格列夫游记>,在小人国内部分裂成 Big-endian 和 Little-endian 两派,他们的争论在于一派要求从鸡蛋的大头把鸡蛋打破, ...

最新文章

  1. 动态规划(DP)通俗讲解
  2. OpenCV3的机器学习算法-K-means-使用Python
  3. 斯诺克之星 - 白沙台球杆 官方 及 派蔻台球杆 官方 www.snkstar.com - 最专业的台球杆销售网站...
  4. “ git commit”和“ git push”之间有什么区别?
  5. spring security默认登录页面登录用户,和自定义数据源
  6. android 带记忆功能的播放器源码,【全开源可二开】带后台管理面板的在线音乐播放器Android应用APP源码...
  7. 多线程—Thread类及线程三种创建方式及对比
  8. php运行汇编,php脚本的执行过程(编译与执行相分离)
  9. iOS duplicate symbol for architecture arm64 解决办法
  10. 移动APP开发工作笔记001---Hbuilder连接苹果手机
  11. nginx的安装及简单负载均衡配置
  12. c语言和测绘程序设计,测绘程序设计(C语言版)
  13. Nero Burning ROM 2014 16.0.03000 精简安装版(功能最强大的光盘刻录软件)
  14. 2015年数模A题太阳影子定位学习笔记
  15. 又有一波证照实现电子化!电子印章成为政务服务新动力
  16. Spatial Pyramid Pooling
  17. 初中数学定理公式汇编
  18. unity3d技术摄像头跟随_unity 3d 中摄像头跟随人物移动总结
  19. itchat与微软小冰的碰撞!--微软小冰接入itchat实现微信自动回复
  20. 罗杨美慧 20180912-3 词频统计

热门文章

  1. 计算机应用基础文字处理测试题,国家开放大学《计算机应用基础》考试与答案形考任务模块2Word2010文字处理系统—客观题测验答案.docx...
  2. gorilla websocket无法跨域_聊聊浏览器同源策略与跨域方案详解
  3. 什么是立即执行函数,有什么作用?
  4. CF888E Maximum Subsequence (Meet in the middle,贪心)
  5. [IDDFS+背包] 洛谷P2744 [USACO5.3]量取牛奶Milk Measuring
  6. zookeeper应用 - FIFO 队列 分布式队列
  7. 强悍高效率 92% Nixie Tube 升压电路 12V升150-250V(转)
  8. JTable 的使用
  9. javascript 原生事件综合查询
  10. XP 装 sql 2008 允许远程连接