该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

endian.h头文件中以宏的形式定义了大端字节序、小端字节序和混合字节序

#define __LITTLE_ENDIAN 1234

#define __BIG_ENDIAN   4321

#define __PDP_ENDIAN   3412

并且宏__BYTE_ORDER确定了当下机器所采用的字节序,根据描述,这个宏定义在头文件bits/endian.h中

/* This file defines `__BYTE_ORDER' for the particular machine. */

#include 

但是在glibc源码中,bits/endian.h文件中,__BYTE_ORDER并没有提及。

对__BYTE_ORDER的定义是在类似./glibc-version/sysdeps/[...]/bits/endian.h的文件中的。

貌似是针对不同的平台情况分别进行定义。比如在./sysdeps/hppa/bits/endian.h中:

/* hppa1.1 big-endian. */

#define __BYTE_ORDER  __BIG_ENDIAN

可是,在我的红帽系统中,一系列的sysdeps目录没了,取而代之的是bits/endian.h中的定义:

/* i386/x86_64 are little-endian. */

#define __BYTE_ORDER  __LITTLE_ENDIAN

这里有两个不明白的地方:

1、源码中无内容的bits/endian,为什么在具体系统里面就有了具体内容?是通过定制,然后人工修改的么?

2、endian.h中的__BYTE_ORDER、__BIG_ENDIAN之类的宏我们可以自由使用么?虽然说用到的机会并不多。

尽管这个头文件是公开的,但是总感觉这东西好像只有编译器才能用的样子……

而且在中讲到了字节序的内容,但并没有提及endian.h头文件。

little endian c语言,endian.h这个头文件里面的宏可以直接用么?相关推荐

  1. c语言中.h文件中的宏定义,endian.h这个头文件里面的宏可以直接用么?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 endian.h头文件中以宏的形式定义了大端字节序.小端字节序和混合字节序 #define __LITTLE_ENDIAN 1234 #define __ ...

  2. c语言 stdlib.h,C语言中的#includestdlib.h是什么意思

    满意答案 alin0411 2013.07.03 采纳率:47%    等级:13 已帮助:7472人 是C语言中的一个头文件,首先,stdlib.h的解释 *Purpose: * This incl ...

  3. C语言的艺术之——头文件

    好记性不如烂笔头o(^▽^)o 系列的文章: <C语言的艺术之--头文件> <C语言的艺术之--函数> <C语言的艺术之--标识符命令与定义> <C语言的艺术 ...

  4. C语言:什么是头文件

    头文件 之前我们经常可以看到一个程序的开头有 #include也就是stdio.h这文件,这是一个名字叫stdio,后缀为.h的文件,其实和我们在日常用的txt文本文件并无两样,都是我们能看懂的字符, ...

  5. C语言编程中关于头文件使用问题

    目录 1 头文件引用方式 2 头文件书写格式 2.1 条件编译 2.1.1 #ifdef... #else... #endif命令 2.1.2 #if defined... #else... #end ...

  6. sqlite3.h:没有那个文件或目录

    vim /var/lib/gems/2.5.0/extensions/x86_64-linux/2.5.0/sqlite3-1.4.2/mkmf.log sqlite3.h:没有那个文件或目录 描述: ...

  7. c语言u8代表,请问头文件里的 u8,u16 vu 等符号是什么意思?

    琢磨了几个头文件,懂了..stm32f10x_type.h这个头文件类有定义,这是一个开发板的例程中的代码,这是arm的默认头文件还是这个开发板的技术员写的. /******************* ...

  8. C语言两个同名头文件,C lang: C语言中两个头文件引入相同的头文件(Header.h)

    C lang: C语言中两个头文件引入相同的头文件(Header.h) C lang: C语言中两个头文件引入相同的头文件(Header.h) [var1] For example: Header.h ...

  9. big endian and little endian

    big endian(大端)和little endian(小端)表示机器对变量字节的存储顺序.big endian表示低地址存放最高有效字节,little endian表示低地址存放最低有效字节.这里 ...

  10. mp4文件时长 c++源码_【C语言】如何使用头文件 .h 编译 C 源码!so easy!

    在 C 语言中,头文件或包含文件通常是一个源代码文件,程序员使用编译器指令将头文件包含进其他源文件的开始(或头部),由编译器在处理另一个源文件时自动包含进来. 一个头文件一般包含类.子程序.变量和其他 ...

最新文章

  1. Common-lang包中StringUtils用法
  2. 查看 SAP Kyma 上一个 pod 的运行日志
  3. (转)结婚那天,妈问我:坐在角落里象两个要饭模样的人是谁?
  4. 如何用 Flutter 实现混合开发?闲鱼公开源代码实例
  5. Jdbc连接mysql的五种连接方式
  6. 第七章 假设检验(2)
  7. [Kaggle] Heart Disease Prediction
  8. Python快速生成注释文档
  9. Java应用案例分析_Java应用启动参数实例解析
  10. 特效编辑器开发手记2——cocos2d-x粒子系统的plist文件
  11. 异步日志方案log4cpp
  12. 网页设计常用色彩搭配表 - 配色表
  13. 2.模仿小米通讯录的快速索引demo
  14. 电瓶车不交罚款会有什么处罚
  15. 花青素类荧光染料Sulfo-Cy3.5 NH2,Sulfo-Cyanine3.5 amine,磺酸基-花青素Cyanine3.5 氨基,可以用来标记蛋白
  16. 美团外卖API接入(二)
  17. word文件自动变成只读模式,怎么办?
  18. (6CBIR模拟问题)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署...
  19. Capture Allegro学习笔记1
  20. java 多线程 cpu核数_java线程数设置和系统cpu的关系

热门文章

  1. ANDROID webview解决视频无法播放问题
  2. 深入解析锂电池保护电路工作原理
  3. 病毒式营销和网络口碑营销的区别
  4. Python3-爬虫~selenium\phantomjs\爬取XX网页电影过程中向下滚动网页问题
  5. 手机号码测凶吉附带手机号码归属地C#版
  6. 搭建 WordPress 博客教程(超详细)
  7. 11款常用的安全测试工具
  8. session的钝化和session的活化(序列化和反序列化)
  9. 支付宝技术期末考:专业技术蓝军首次对外公开
  10. HIVE 系列 (4) hive 内部表和外部表HQL查询统计