参考:

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. 如何有效地让一个“ParentFont = False”子控件使用与父母相同的字体名称?

    如何有效地让一个“ParentFont = False”子控件使用与父母相同的字体名称?(How to efficiently let a `ParentFont = False` child con ...

  2. 如何取消mysql的密码?

    有两种方法: 1.mysql命令 SET PASSWORD FOR root@localhost=PASSWORD(''); 2.运行  mysqladmin 命令 mysqladmin -u roo ...

  3. 初识elasticsearch_1(基本概念和基本操作)

    初识 ElasticSearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.本博客部分基于es的官方文档.es的官方文档网址如下:h ...

  4. echarts实现折线图

    前端框架使用的angular,折线图使用echarts实现. 这里实现的折线图只是简单是折线图,折线图显示在table中,不需要xy轴的数据说明. 1. item.component.html < ...

  5. IntelliJ IDEA2017 修改缓存文件的路径

    IDEA的缓存文件夹.IntelliJIdea2017.1,存放着IDEA的破解密码,各个项目的缓存,默认是在C盘的用户目录下,目前有1.5G大小.现在想要把它从C盘移出. 在IDEA的安装路径下中, ...

  6. Mybatis.xml文件中大于小于等于

    第一种写法: 原符号 < <= > >= & ' "替换符号 < <= > >= & &apos; "例如: ...

  7. Problem A: 踢罐子 解题报告

    Problem A: 踢罐子 Description 平面上有\(n\)个点,其中任意2点不重合,任意3点不共线. 我们等概率地选取一个点A,再在剩下的\(n-1\)个点中等概率地选取一个点B,再在剩 ...

  8. 洛谷 P2862 [USACO06JAN]把牛Corral the Cows 解题报告

    P2862 [USACO06JAN]把牛Corral the Cows 题目描述 Farmer John wishes to build a corral for his cows. Being fi ...

  9. Jenkins + Pipeline 构建流水线发布

      Jenkins + Pipeline 构建流水线发布 利用Jenkins的Pipeline配置发布流水线 参考: https://jenkins.io/doc/pipeline/tour/depl ...

  10. CF&&CC百套计划4 Codeforces Round #276 (Div. 1) E. Sign on Fence

    http://codeforces.com/contest/484/problem/E 题意: 给出n个数,查询最大的在区间[l,r]内,长为w的子区间的最小值 第i棵线段树表示>=i的数 维护 ...