当前位置:  开发笔记 > 编程语言 > 正文

C和C++中的标准头文件列表

如何解决《C和C++中的标准头文件列表》经验,为你挑选了4个好方法。

我在哪里可以找到C和C++中所有头文件的列表?

当我正在构建一个库时,我收到的错误就像' tree.h not found'.我想这是C和C++中的标准头文件.这让我了解了所有头文件及其贡献的好奇心.

我有搜索的地方吗?

我正在使用Solaris Unix.



1> Jonathan Lef..:

标题'tree.h'在任何地方都不是标准的.


C标准

ISO/IEC 9899:1990(C89,C90)

C89中的15个标准头是:

      
       
         
     

ISO/IEC 9899:1990/Amd.1:1995

C94 *(修订1)中引入的3个额外标题是:

    

ISO/IEC 9899:1999(C99)

C99中的6个额外标题是:

      
     

ISO/IEC 9899:2011(C11)

C2011中的5个额外标题(总共29个)是:

        

ISO/IEC 9045:2008(POSIX 2008,单Unix规范)

请注意,POSIX需要更多标头(82,包括所有C99标头).下面的列表重复标准的C(C99)标题.当然,Windows需要一组不同的标题.

                        
                 
                   
                     
                    
                      
                      
                     
                     
                
                
                 
                     
            
                      
                      
                       
                 
             
               
   

另请注意,X/Open Curses需要另一组标头.2009年11月发布了该规范的新版本(第7版)(自1996年以来的第一次更新 - 主要区别在于对termcap和预标准C 头的官方支持的丢失).

    

Linux标准库

您可能需要使用其他标头.例如,在这些列表中没有提及,但如果您使用的是GNU Getopt(例如,对于长选项),则需要使用该标头.根据LSB,Linux Standards Base,它是Linux的标准配置.较旧版本的LSB被定义为ISO/IEC 23360:2006的多个部分; 截至2014-09-21,LSB的当前版本为4.1,但5.0版本处于测试阶段.该文档的一部分定义了包含哪些标题,但在我看到的版本中没有方便的标题表.它与POSIX紧密结合,但具有超出POSIX定义的额外设施.


C++标准

ISO/IEC 14882:1998(C++ 98)

该标准列出了特定于C++的32个标头:

               
                      
                       
                
                  
           
  

还有18个标题对应于C的标题(对应于C94):

         
         
         
       

有趣的是,附件D(§D.7)列出了一个不赞成的标题,这在标准的前面没有提到.在GCC(g++)7.2.0中包含该标题会生成警告:

/opt/gcc/v7.2.0/include/c++/7.2.0/backward/backward_warning.h:32:2:
warning: #warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]

标头明确列在标准的其他版本中.

ISO/IEC 14882:2011(C++ 11)

C++ 11中的53个C++头文件是:

                        
                                     
                                          
                                      
                                     
                                     
                         
                             
                                        
                                    
                                
                         
                       
                             

与C(C11)相关的26个标题是:

            
          
            
           
               
            

ISO/IEC 14882:2014(C++ 14)

基于ISO/IEC JTC1/SC22/WG21网站上的草案标准N3797的临时标题列表.该数据是从表14和15在部分17.6.1.2 集管,修正如下所述.由于该标准尚未公布(截至2014-09-21),此列表尚未确定.

C++ 14中的54个C++头文件是:

                        
                                     
                                          
                                      
                                     
                                     
                         
                             
                                   
                                  
                                    
                                  
                       
                             

与C++ 11相比,与C(C11)相关的26个标题保持不变:

            
          
            
           
               
            

与C++ 11相比,C++ 14列出了一个新的标题,即.

注:该草案列出了一些标题(的,,,两次).另外,从C++ 11 5头在草案的表中未列出,即,,,,和.由于§18.8定义,§24定义,§20.11定义,§30定义,§30.4定义,这是一个为什么你不应该相信草案标准作为最后一个词的例子 - 它们包含错误.

ISO/IEC 14882:2017(C++ 17)

基于2017年3月21日的N4659草案,C++ 17中的标题暂定列表.这是第20.5.1.2节标题中表16和17的转录.这不是最终标准; 从理论上讲,有些东西可能会发

共有61个C++标题:

                                  
                             
                                     
                                          
                                      
                                     
                                     
                         
                             
                                   
                                  
                                       
                               
           
                          
                         

相比C++ 14的新报头似乎是:,,,,,,.

同样,与C++(C11)相关的26个标题与C++ 11和C++ 14相比没有变化:

            
          
            
           
               
            

另请参见C++ 17中的新功能有哪些?

请注意,一些"C库"报头的被弃用在C++ 17,具体地,,,(而不是).在C++ 17中也不推荐使用C++标头(在C++ 11中添加).


*日期中 的"关闭一年"问题是由于批准后处理标准所需的时间.ANSI于1989年批准了原始C标准; ISO于1990年批准.修正案1于1994年获得批准; 它于1995年发布.



2> Kornel Kisie..:

试试这里:http://en.cppreference.com/w/

但是,您可能还在引用操作系统的头文件.这些可以在MSDN(Windows)或man命令(POSIX系统)上找到.如果你在另一个操作系统上,或者另一个来源.



3> Adam Bowen..:

http://www.cplusplus.com/reference/列出了C头文件的所有标准C++头文件和C++包装器.

tree.h不是标准库的一部分.



4> Carl Smotric..:

我发现这对C标准库的维基百科条目包含的C头文件和详细信息列出了标准他们的一部分.这为您提供了一个很好的历史视角和一些其他相似的细节.

当然那只是C.在"C++标准库"下可以找到类似的文章.这也引用了一些其他库本身可能不是"标准"的,但如果没有这些库,C++会觉得某些人习惯使用扩展程序"瘫痪"了.

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有