编译器常见的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 导致编译错误流

编译问题:找不到crt1.o

深入理解设计模式-代理模式(静态代理动态代理jdk和cglib)

编译链接实战(12)crt1.o, crti.o, crtbegin.o, crtend.o, crtn.o是什么东西

如何用VS进行程序调试

深入理解设计模式-代理模式(静态代理动态代理jdk和cglib)