为什么/usr/include/linux/stddef.h为空?
|
这个头文件应该定义NULL或者size_t等宏,但是我发现/usr/include/ linux/stddef.h是空的?为什么? 解决方法标头的实际位置是实现定义的.你看的不是典型的< stddef.h>由gcc包含您可以通过以下方式找出系统所在的位置:gcc -E - <<<'#include<stddef.h>' | grep stddef.h 这相当于包括标题< stddef.h>在一个空的C文件中并运行gcc -E. /usr/include / linux中的标头用于编译C库(通常是Linux上的glibc). GNU manual说:
而C库头文件通常位于/usr/lib /中的某个位置.在我的ubuntu 15.04上,头文件/usr/include/linux/stddef.h为空.但是在我的CentOS上,它有: #ifndef _LINUX_STDDEF_H #define _LINUX_STDDEF_H #undef NULL #if defined(__cplusplus) #define NULL 0 #else #define NULL ((void *)0) #endif #endif 底线是,这不是你感兴趣的stddef.h,一般来说,你不应该对标准头文件的位置做任何假设. (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – i386:x64-32 vs i386 vs i386:x86_64之间的区别
- LINUX学习:RHEL 6.6下安装Ansible
- 实施系统调用时,如何将系统调用号公开给用户区?
- linux – CentOS错误 – sudo:有效的uid不是0,sudo是否安装
- linux – 如何正确使用Siege来对GET请求进行基准测试?
- linux – 如何从lxc-console断开连接
- Getting over the dangers of rm command in Linux---refer
- azure – Project Oxford Speech API的客户端ID
- linux – iwlist()命令如何扫描无线网络?
- 如何查看在命名管道中排队的数据量?
