为什么/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 – SCSI读取(10)和写入(10)与SCSI通用接口
- 如何在linux mint下的zsh中设置virtualenvwrapper?
- linux-kernel – 编译Linux内核错误xt_CONNMARK.h
- linux – /usr/bin/env关于shebang line pecularities的问题
- 在Linux中安装Android Studio到/ opt(将1.9 GB/ Android/Sd
- linux – sed:如何删除匹配包含正斜杠的模式的行?
- ZSH在标签上突出显示
- Swift on Linux – 导入第三方模块
- 在Linux中创建新线程复制文件描述符和套接字描述符?
- 如何在不结束C程序的情况下结束ncurses?