软件调试笔记29 - 运行库和运行期检查

本文介绍了C/C++运行库的概念,包括C运行库和C++标准库,以及链接运行库的不同版本。重点讲解了静态链接与动态链接的区别,并详细阐述了运行库的初始化、多个实例可能引发的问题以及运行期检查,如断言和报告运行期错误的函数_CrtDbgReport。
摘要由CSDN通过智能技术生成

C/C++运行库

编译器在将高级语言编译到低级语言的过程中,比较复杂的运算符对应比较多的低级语言指令,为了防止指令段多次重复,编译器通常将他们封装为函数,将高级语言翻译成对应的函数调用,比如VC编译器通常把new, delete编译为malloc 和free函数的调用。这些相配套的函数库或者类库称为支持库support library或者运行库runtime library,比如C标准定义的标准C函数,C++标准定义的C++标准类库等。实现支持库是实现编译器的一项重要任务。


C运行库

C标准定义了C库函数的原型和功能,但没有提供实现,这个任务留给了编译器,每个编译器实现的通常是标准C函数库的一个超级,称为C支持库或者C运行库,简称CRT。主要函数如下,



C++标准库

由三大部分组成:C标准库,IO流和标准模板库STL。VC编译器是将c++编译器所使用的C标准库与C编译器所使用的C运行库一起实现,而把IO流和STL单独实现。


链接运行库

为了满足不同的需要,运行库通常有多个版本,比如为了辅助调试的版本,包含了断言,内存检查等功能,这些不会放在发布版本。调试版本和发布版本是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值