编译器常见的CRT理解和延伸
Posted banzheshitou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译器常见的CRT理解和延伸相关的知识,希望对你有一定的参考价值。
CRT-----C/C++ Rumtime Library (运行时用的库,非常基础类和底层库)
水至清则无鱼一个道理,深海中的鱼离了海水中的营养物质(CRT的比喻)在清水中很难存活
CRT的理解如下:
元世界意义下的C/C++
1、同Window平台下众多预编写好的库:标准C、Windows API、MFC、STL 等类似,CRT也是基层标准库
2、是C/C++程序运行时需要的最基本和最常用的库函数文件
Microsoft下的C/C++
1、微软下的CRT是指在其平台下开发的C Runtime Library,用于操作系统的开发和运行。后在基础上延伸到C++ R L
2、内核及许多关键服务都在CRT上运行(都采用DLL技术) / VC编写的C/C++程序也用到(可动态或静态链接------------
前者需要系统已安装CRT的DLL,后者不需要)
3、CRT是Mircrosoft编写Windows时使用的底层类库。后被当作C++标准库的一个实现包含在VC系列中---即,我们
使用的C++标准库其实是CRT的一个真子集(少了C++标准所不包含的代码,特别是大量的底层C代码)
4、Windows下的API是在CRT基础上开发的。所以离开CRT,Windows API也无法使用。
CRT的优点如下:
在操作系统上还有Runtime Library,Container不需要重复加载,极大的节省内存占用。
----------------------------------------------------------------------------------------------------------------
特别感谢博主,内容整理参考链接:http://blog.csdn.net/luoweifu/article/details/49049877
【注】博客写作要写出内容是什么--即理解;有什么用--即有什么好处。
以上是关于编译器常见的CRT理解和延伸的主要内容,如果未能解决你的问题,请参考以下文章
#define _AFX_NO_DEBUG_CRT 导致编译错误流
深入理解设计模式-代理模式(静态代理动态代理jdk和cglib)