Next: Documentation, Previous: Library Files, Up: gcc Directory
通常,GCC希望所使用的头文件大部分由系统C库提供。但是在需要的时候,GCC会修改那些头文件以便能够工作,并且会安装一些需要单独实现的头文件。这些头文件被安装在libsubdir/include下。GCC也安装了些非C运行时库的头文件;这些没有在这里列出。(FIXME:在某处给出这些的文档。)
GCC所安装一些头文件来自ginclude目录下。这些头文件iso646.h, stdarg.h, stdbool.h, stddef.h将被安装在libsubdir/include下,除非通过在目标Makefile片段中(参见Target Fragment)设置USER_H
来改变。
除了这些头文件,以及那些GCC为了能够正常工作而修改的系统头文件,libsubdir/include下还可能安装了其它头文件。config.gcc可以设置extra_headers
,用来指出将config目录下的其它头文件安装在一些系统上。
GCC使用ginclude/float.h,来安装自己版本的<float.h>
,并通过拷贝命令行选项来改变浮点数的表示。
GCC还安装它自己版本的<limits.h>
;它是从glimits.h中生成的,以及limitx.h和limity.h,如果系统还具有自己版本<limits.h>
。(GCC提供自己的头文件,是因为ISO C独立实现的需要,但是该头文件还需要包含系统头文件,是因为其它标准像POSIX指定的额外的值在<limits.h>
中有定义)系统的<limits.h>
头文件通过libsubdir/include/syslimits.h来使用,它是从gsyslimits.h复制过来的,如果其不需要修改为与GCC一起工作;如果需要修改,syslimits.h为修改后的副本。
当config.gcc设置use_gcc_tgmath
为yes
时,GCC还将安装<tgmath.h>
。