c语言中.h文件中的宏定义,endian.h这个头文件里面的宏可以直接用么?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
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头文件。
c语言中.h文件中的宏定义,endian.h这个头文件里面的宏可以直接用么?相关推荐
- C语言中:在头文件中使用static定义变量意味着什么?
C语言中:在头文件中使用static定义变量意味着什么? 看到有一位同学在头文件中这么写: static const wchar_t* g_str1 = - static const wchar_t* ...
- c语言中引用头使用什么指令,在源文件(.c)和头文件(.h)中声明和定义的区别——C语言...
最近在看多文件编程的时候遇到的一个问题,本来以为理解了声明和定义的区别(然而并没有····),也算是重新认识了一次声明和定义,下面上代码 声明和定义:有分配空间的叫定义,没分配空间的叫声明 定义:表示 ...
- go语言中fmt包中Print、Printf、Println输出相关函数的区别
go语言中fmt包中Print.Printf.Println输出相关函数的区别 区别: Print系列函数将内容输出到系统的标准输出.其区别:Print函数式直接输出内容,Printf函数支持格式化输 ...
- java 中定义整形变量_智慧职教: 在Java语言中,一条语句可以定义多个变量。例如int a; b;就定义了两个整型变量a 和b。...
智慧职教: 在Java语言中,一条语句可以定义多个变量.例如int a: b:就定义了两个整型变量a 和b. 答:0 "物的依赖性关系"是( ) 答:资本主义社会之中的人与人之间的 ...
- C语言中scanf()函数中的是什么
困惑初学者的C语言中scanf()函数中的&到底是什么 对于初学者而言,肯定有过这样一个困惑:为什么在使用scanf函数输入数据时有时需要在参数前加一个&,而有时却不用. 在回答&qu ...
- c语言中for循环逗号表达式,c语言中for循环中()里的三个表达式分别省略都
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:c语言中for循环 中()里的三个表达式分别省略都是什么意思?回答:将参加循环的语句括起来:末尾循环体){ 中间循环体: } 其中, ...
- c语言数组中逗号的作用,在C语言中,每个语句和数据定义是用( )结束。? 逗号|括号|分号|句号...
在C语言中,每个语句和数据定义是用( )结束.? 逗号|括号|分号|句号 更多相关问题 [多选题]有关商事登记的内容,下列表述哪些是不正确的: A. 商事登记不是取得商人资格的必备条件 B. 商事登记 ...
- java语言中类定义数组赋值_在Java语言中,下列对于字符数组的定义并赋值正确的是(选一项)_学小易找答案...
[单选题]<茶花女--饮酒歌>这段音乐属于级进还是跳进的旋律? <茶花女-饮酒歌>.mp4 [简答题] [单选题]对外汉语教学中以系统讲授语言知识的一类课型,包括语音.词汇.语 ...
- 巧用c语言宏定义实现自动注释调试代码,C语言宏定义中的特殊用法
C宏定义中的特殊用法 在分析一些C源码时,经常会遇到各种宏定义操作,本文即总结一下C语言宏定义中常见的预定义宏.调试宏:宏的条件编译用法及特殊的宏关键字用法. #undef 限定宏的作用域 一般来讲宏 ...
最新文章
- 【OpenCV 4开发详解】图像上绘制几何图形
- fastboot因为连接线影响出错
- 自考计算机应用技术实践考核,自考《计算机应用技术》实践环节指导
- 使用Module自定义网站定义(Site Definition)
- 直流有刷减速电机结构及其工作原理
- hooks组件封装 react_名符其实的react下一代状态管理器hox
- 主席树【bzoj3524(p3567)】[POI2014]Couriers
- opensource项目_Opensource.com的写作主题从A到Z
- Sql分页两种常用算法
- 数据库的相关语句(where,order by)
- NetSuite ERP软件系统特点介绍!
- android studio 中由于网络问题,编译错误
- 为什么这么多的广告呢
- Shell脚本初学习
- OSChina 周五乱弹 —— 闹钟一响就睡觉
- mysql union 慢_mysql查询慢的原因和解决方案
- 【玩转ElasticSearch】横向对比ElasticSearch与Sphinx
- 对于年龄偏小的孩子来讲,学习的好坏可能完全取决于家长
- F28335第十二篇——串口拓展(XR16C854)
- 服务器omv系统,开源NAS系统OpenMediaVault安装与体验