参考:

c run-time libraries:  http://msdn.microsoft.com/zh-cn/library/vstudio/abx4dbyh(v=vs.100).aspx

Header Files:http://msdn.microsoft.com/zh-cn/library/vstudio/a7tkse1h(v=vs.100).aspx

c/c++头文件一览:http://blog.csdn.net/jerry0597/article/details/1166285

C/C++头文件一览
C、传统 C++

#include
<assert.h>    //设定插入点
#include
<ctype.h>     //字符处理
#include
<errno.h>     //定义错误码
#include
<float.h>     //浮点数处理
#include
<fstream.h>    //文件输入/输出
#include
<iomanip.h>    //参数化输入/输出
#include
<iostream.h>   //数据流输入/输出
#include
<limits.h>    //定义各种数据类型最值常量
#include
<locale.h>    //定义本地化函数
#include
<math.h>     //定义数学函数
#include
<stdio.h>     //定义输入/输出函数
#include
<stdlib.h>    //定义杂项函数及内存分配函数
#include
<string.h>    //字符串处理
#include
<strstrea.h>   //基于数组的输入/输出
#include
<time.h>     //定义关于时间的函数
#include
<wchar.h>     //宽字符处理及输入/输出
#include
<wctype.h>    //宽字符分类

//////////////////////////////////////////////////////////////////////////

标准 C++ (同上的不再注释)

#include
<algorithm>    //STL 通用算法
#include
<bitset>     //STL 位集容器
#include
<cctype>
#include <cerrno>
#include
<clocale>
#include <cmath>
#include
<complex>     //复数类
#include
<cstdio>
#include <cstdlib>
#include
<cstring>
#include <ctime>
#include <deque>      //STL 双端队列容器
#include
<exception>    //异常处理类
#include
<fstream>
#include <functional>   //STL 定义运算函数(代替运算符)
#include
<limits>
#include <list>      //STL 线性列表容器
#include
<map>       //STL 映射容器
#include
<iomanip>
#include <ios>       //基本输入/输出支持
#include
<iosfwd>     //输入/输出系统使用的前置声明
#include
<iostream>
#include <istream>     //基本输入流
#include
<ostream>     //基本输出流
#include
<queue>      //STL 队列容器
#include
<set>       //STL 集合容器
#include
<sstream>     //基于字符串的流
#include
<stack>      //STL 堆栈容器    
#include
<stdexcept>    //标准异常类
#include
<streambuf>    //底层输入/输出支持
#include
<string>     //字符串类
#include
<utility>     //STL 通用模板类
#include
<vector>     //STL 动态数组容器
#include
<cwchar>
#include <cwctype>

using namespace std;

//////////////////////////////////////////////////////////////////////////

C99
增加

#include
<complex.h>   //复数处理
#include
<fenv.h>    //浮点环境
#include
<inttypes.h>  //整数格式转换
#include
<stdbool.h>   //布尔环境
#include
<stdint.h>   //整型环境
#include
<tgmath.h>   //通用类型数学宏

以下引用自http://club.topsage.com/thread-2271422-1-1.html

C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些不同?
之前在写C++程序的时候只知道使用 #include <iostream> 的时候,使用函数前要用 using namespace std; 导入命名空间,而 #include <iostream.h> 则不用,这个得看C++标准化过程为C++开发者做了哪些有意义的工作。
C++标准化过程中,其中一个环节,解决了以下问题:
(1)C++增加了名称空间概念,借以将原来声明在全局空间下的标识符声明在了namespace std下。
(2)统一C++各种后缀名,如.h、.hpp、.hxx等。标准化之前的头文件就是带后缀名的文件,标准化后的头文件就是不带后缀名的文件。C++ 98 规定用户应使用新版头文件,对旧版本头文件不在进行强制规范,但大多数编译器厂商依然提供旧版本头文件,以求向下兼容。
也就是说带 .h 的头文件是旧标准的,如果想用新的标准的头文件就不要带 .h。
另外,为了和C语言兼容,C++标准化过程中,原有C语言头文件标准化后,头文件名前带个c字母,如cstdio、cstring、ctime、ctype等等。这些头文件都可以在 C:\Program Files\Microsoft Visual Studio 10.0\VC\include 这个目录下找到(以VC2010为例)。也就是说,我们如果要用C++标准化了的C语言头文件,就得作如下的转换
#include <stdio.h> --> #include <cstdio> #include <stdlib.h> --> #include <cstdlib> #include <string.h> --> #include <cstring>
还要提及的一点是,我在看C++标准库的时候,看到一个特殊情况 <memory.h> 和 <memory>,这两个头文件是完全不同的,因为我发现 <memory.h>头文件件包含了 <mem.h>;而 <memory> 包含 <memory.stl>
这里摘录 memory.h 中的一段代码:

  1. #if !defined(__cplusplus)
  2. #  include <mem.h>
  3. #else /* __cplusplus */
  4. #  if !defined(__USING_STD_NAMES__)
  5. #    include <mem.h>
  6. #  else /* __USING_STD_NAMES__ */
  7. #    include <memory.stl>
  8. #  endif /* __USING_STD_NAMES__ */
  9. #endif /* __cplusplus */

关于这一点,不知道我理解的是否到位,还请大家多讨论、指点

c run-time library 和 standard c++ library的更多相关文章

  1. [c++] STL = Standard Template Library

    How many people give up, because of YOU. Continue... 先实践,最后需要总结. 1. 数据流中的数据按照一定的格式<T>提取 ------ ...

  2. 自定义标签 与 JSTL(JSP Standard Tag Library)

    1.自定义标签 [理解]     [1]简介            > 在JSP2.0以后,在jsp页面中不建议使用脚本片段<% %>和JSP表达式<%= %>     ...

  3. C++ Standard Template Library STL(undone)

    目录 . C++标准模版库(Standard Template Library STL) . C++ STL容器 . C++ STL 顺序性容器 . C++ STL 关联式容器 . C++ STL 容 ...

  4. JSTL的全称:JSP Standard Tag Library, jsp 标准标签库

    JSTL的全称:JSP Standard Tag Library, jsp 标准标签库 JSTL的作用     提供给Java web开发人员一个标准通过的标签函数库和EL来取代传统直接在页面上嵌入j ...

  5. JSTL(JSP Standard Tag Library ,JSP标准标签库)

    JSTL标签之核心标签   JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个实现 Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管 ...

  6. JSTL 标准标签库 (JavaServer Pages Standard Tag library, JSTL)

    JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个定制标签库的集合,用来解决 像遍历Map或集合.条件测试.XML处理,甚至数据 库访问和数 ...

  7. 【概念的辨异】—— ISO C 与 POSIX C(C standard library 与 C POSIX library)

    ISO C 表示 C Standard Library,也就是 C 标准库. 二者的主要区别在于: POSIX 是 C 标准库的超集(也即是从内容上,C 标准库是 POSIX 库的一部分,POSIX ...

  8. php spl标准库简介(SPL是Standard PHP Library(PHP标准库)(直接看代码实例,特别方便)

    php spl标准库简介(SPL是Standard PHP Library(PHP标准库)(直接看代码实例,特别方便) 一.总结 直接看代码实例,特别方便易懂 thinkphp控制器利眠宁不支持(说明 ...

  9. 如何使用event 10049分析定位library cache lock and library cache pin

    Oracle Library Cache 的 lock 与 pin 说明 一. 相关的基本概念 之前整理了一篇blog,讲了Library Cache 的机制,参考: Oracle Library c ...

随机推荐

  1. JDK8新特性,给接口添加一个默认实现

    在JDK8中,允许给接口本身添加一个默认的实现.用“default”进行修饰.如下实例 package interfacetest; public interface TestInterface { ...

  2. Voltage Keepsake CodeForces - 801C(思维)

    题意: 有n台机器,第i台机器每个单位时间消耗ai的功率,初始有bi的功率储备,有一个充电器每个单位时间充p单位的功率 问经过多长时间才能有一个功率位0的机器,如果能够无限使用输出-1: 解析: 时间 ...

  3. 奔小康赚大钱 HDU - 2255(最大权值匹配 KM板题)

    奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  4. CodeForces - 707C

    C. Pythagorean Triples time limit per test 1 second memory limit per test 256 megabytes input standa ...

  5. 使用VBA批量转换Excel格式,由.xls转换成.xlsx

    问题分析: Excel2007以前的格式是.xls,之后的格式是.xlsx.打开单独的一个Excel文档,使用“另存为”功能,可以很轻松的转换格式.但是面对几百个Excel表这样就太累了,搜索很久,也 ...

  6. luogu2048 [NOI2010]超级钢琴 (优先队列+主席树)

    思路:先扫一遍所有点作为右端点的情况,把它们能产生的最大值加到一个优先队列里,然后每次从优先队列里取出最大值,再把它对应的区间的次大值加到优先队列里,这样做K次 可以用一个前缀和,每次找i为右端点的第 ...

  7. mes平台Action类模版

    Connection conn = null; PreparedStatement pst = null; ResultSet rs = null; @Override public String e ...

  8. Sublime Text Ctags 安装、使用、快捷键

    安装ctags应用程序. 1.到CTags的官方网站下载最新版本,将解压后的ctags.exe放到系统环境变量的搜索路径中.一般是C:\windows\system32. 如果你想放到其他文件夹中,记 ...

  9. Gulp 笔记

    Gulp是一款自动化构建工具 用npm安装 npm install -g gulp npm install --save-dev gulp 分别在全局和项目目录里安装. 然后在项目目录里创建gulpf ...

  10. [整理]C 内核源代码-学习资料

    GNU C gnu项目:http://www.gnu.org/software/software.html ftp:http://ftp.gnu.org/gnu/ 托管:http://savannah ...