Next: , Previous: Library Files, Up: gcc Directory


6.3.6 GCC安装的头文件

通常,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.hlimity.h,如果系统还具有自己版本<limits.h>。(GCC提供自己的头文件,是因为ISO C独立实现的需要,但是该头文件还需要包含系统头文件,是因为其它标准像POSIX指定的额外的值在<limits.h>中有定义)系统的<limits.h>头文件通过libsubdir/include/syslimits.h来使用,它是从gsyslimits.h复制过来的,如果其不需要修改为与GCC一起工作;如果需要修改,syslimits.h为修改后的副本。

config.gcc设置use_gcc_tgmathyes时,GCC还将安装<tgmath.h>