易截截图软件、单文件、免安装、纯绿色、仅160KB

C Runtime Library来历, API, MFC, ATL关系

CRT原先是指Microsoft开发的C Runtime Library,用于操作系统的开发及运行。后来在此基础上开发了C++ Runtime Library,所以现在CRT是指Microsoft开发的C/C++ Runtime Library。在VC的CRT/SRC目录下,可以看到CRT的源码,不仅有C的,也有C++的。
       CRT原先的目的就是支持操作系统的运行。因为Windows操作系统除汇编部分外,都是用C/C++编写的,所以内核及许多关键服务都在CRT上运行(它们都采用dll技术动态链接)。此外,用 VC编写的C/C++程序也用到它们(可以动态链接,也可以静态链接,前者运行时需要系统中已安装CRT的dll,后者不需要)。可以说,CRT就是 Microsoft编写Windows时使用的低层类库。然后,它又被当作C++标准库的一个实现包含在了VC系列中;我们在VC中使用的C++标准库,其实就是CRT的一个真子集(少了C++标准所不包含的代码,特别是大量的低层C代码)
       至于CRT与WINDOWS API的关系,与许多人理解的相反,WINDOWS API作为Windows的一部份,是在CRT的基础上开发的。你可以将Windows(及其API)看作一个项目,而这个项目使用的语言是汇编/C/C ++,使用的类库就是CRT。所以,离开CRT,Windows API也无法使用的。
       C++标准,是C++的通用语言规范,指导所有C ++使用者。而CRT的其中一部分可以看作是Microsoft开发的一个C++标准库实现(其实也确实如此,Microsoft在开发CRT时,参考了正在标准化过程中的C++语言规范)。它与C++标准有一定的差距,部分原因是,在C++没有完成标准化之前,CRT已经开发并投入使用了。为了向下兼容以前的Windows代码,早期的CRT与C++标准总有一定的差距。但是CRT确实在不断的改进中。VC6带的CRT与C++标准还有比较大的差距,而 VC8的几乎完全符合C++标准了。
       综上,CRT(Microsoft's C/C++ Runtime Library)的一个真子集(主要是C++ Runtime Library)是一个符合(或至少是企图符合)C++标准的C++库。而Windows API(以及Windows的其他许多部分)都是在CRT的基础上开发的。
       除了以上介绍的,在使用CRT的过程中,还需要了解的是:
      1、CRT的一些组成部分也调用了Windows API。这可能就是有人认为CRT是建立的Windows API基础上的原因。但是实际上,这一部分剥离CRT没有任何的问题。只


相关文档:

#在C中的妙用你知道多少

C中的#号不仅是#include,#define等的关键字首使用而已,#在宏中还有很多用法。具体请看下面我来举例
1.双#号的宏用法。
我相信双##号的用法应该大部分人都见过吧,主要是用来连接宏变量名使用,在GCC参考手册中这样记载。
可用于宏内部将两个源代码权标连接成一个的连接指示字,可用来构造不会被解析器错误解释的名字。 ......

C库函数(字符串函数)


C库函数
字符串函数
 
 
 
函数名
函数原型
功能
返回值
包含头文件
strcat
char *strcat(char *st1, char *str2)
把str2连接到str1后面
str1
string.h
strchr
char *strchr(char *str, int ch)
找出str指向的字符串中第一次出现字符串ch的位置
指向该位置的指针,未找到则返回空指针
......

在Eclipse中开发C/C++项目 转帖


C/C++ development with the Eclipse Platform
Pawel Leszek
 
摘要:通过本文你将获得如何在Eclipse平台上开发C/C++项目的总体认识。虽然Eclipse主要被用来开发Java项目,但它的框架使得它很容易实现对其他开发语言的支持。在这篇文章里,你将学会如何使用CDT(C/C++ Development Toolkit),一个在Eclipse平台上最 ......

C/C++ 宏带来的奇技淫巧

作者:Kevin Lynx 来源:C++博客
转自:http://www.kuqin.com/language/20080319/4797.html
众多C++书籍都忠告我们C语言宏是万恶之首,但事情总不如我们想象的那么坏,就如同goto一样。宏有
一个很大的作用,就是自动为我们产生代码。如果说模板可以为我们产生各种型别的代码(型别替换),
那么宏其实可以为我们在符号上 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号