先理解运行时库,就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数.VC提供的 C run-time library分为动态运行时库和静态运行时库:

动态运行时库:
       msvcrt.dll(or MSVCRTD.DLL for debug build),对应的Import library文件是MSVCRT.LIB(MSVCRTD.LIB for debug build)

静态运行时库(release版)对应的主要文件是:
     LIBC.LIB :Single thread static library, retail version
     LIBCD.lib:debug single-threaded ,static library
     LIBCMT.LIB (Multithread static library, retail version)
     libcmtd.lib:debug Multithread static library

C++ 世界里,有另外一个概念:Standard C++ Library,它包括了上面所说的 C run-time library 和 STL。包含 C run-time library 的原因很明显,C++ 是 C 的超集,没有理由再重新来一个 C++ run-time library. VC针对C++ 加入的Standard C++ Library主要包括:LIBCP.LIB, LIBCPMT.LIB和 MSVCPRT.LIB,与c run-time library比较,文件名称中多了个p

动态运行时库:
       msvcprt.dll(or MSVCPRTD.DLL for debug build),对应的Import library文件是MSVCPRT.LIB(MSVCPRTD.LIB for debug build)

静态运行时库(release版)对应的主要文件是:
     LIBCP.LIB :Single thread static library, retail version
     LIBCPD.lib:debug single-threaded ,static library
     LIBCPMT.LIB (Multithread static library, retail version)
     libcpmtd.lib:debug Multithread static library

编译时到底哪个C run-time library联入你的程序取决于编译选项可在project->settings->C++->Code   Generation的Use   Runtime   Library下选择C run-time library 。 动态链接需要相应的动态库支持才能运行(MSVCRTD.DLL 或MSVCRT.DLL ),注意与MFC的动态链接不同。

使用第三方的库容易造成LNK2005错误――重复定义错误,一般是第三方库的链接方式与现工程不一致造成的,如第三方库采用静态链接,而现工程采用动态链接,或者第三方库用单线程,而现工程采用多线程都会引发此错误。

C运行时库和标准C++库相关推荐

  1. linux中安装,编译时调用,运行时调用,更新共享库

    一 创建并编译共享库 动态链接库一般以lib开头,形如libmymodule.so.1.0.0. 后面跟的三个版本号,从左到右的含义为: (1) 大版本号,当接口变得和之前不兼容,则新增一个大版本号. ...

  2. C++标准库和标准模板库(转)

    转自原文http://blog.csdn.net/sxhelijian/article/details/7552499 C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标 ...

  3. C++标准库和标准模板库

    C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标准头文件中定义. 在C++开发中,要尽可能地利用标准库完成.这样做的直接好处包括: (1)成本:已经作为标准提供,何苦再 ...

  4. No.2 STM32F429IGT6 固件库 CMSIS标准及库和STM32官方文档资料总结 (STM32F429/F767/H743)

    CMSIS标准及库层次关系 因为基于 Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难.为了解决不同的芯片厂商生产的 C ...

  5. stl标准模板库_C ++标准模板库(STL)中的array :: fill()

    stl标准模板库 fill() is a member function of "array container", which sets a given value to all ...

  6. stl标准模板库_C ++标准模板库(STL)中的数组及其常用功能

    stl标准模板库 "array" is a container in C++ STL, which has fixed size, which is defined in &quo ...

  7. 浅析容器运行时奥秘——OCI标准

    导语 容器技术火起来了以后,Docker的容器镜像和容器运行时已然成为行业的标准.此后,为了推进容器生态的健康发展.在Linux基金会的主导下,Docker和各大云厂商Google, Amazon, ...

  8. phpstudy运行时出现没有安装VC库

    系统默认的VC库是安装在C:\Program Files\Common Files\microsoft shared\VC的文件夹里,当运行PHP Study是出现如下的提示: 可以到下面的网站去下载 ...

  9. 一文带你弄懂Visual Studio:运行时库及MT/MTD、MD/MDD

    一文带你弄懂Visual Studio:运行时库及MT/MTD.MD/MDD 引子 什么是Runtime Library? Runtime Library和运行库 MT MTD MD MDD的关系 静 ...

最新文章

  1. 索引扫描、查找、书签查询、覆盖查询示例介绍
  2. Ubuntu:成功解决ubuntu使用su切换root出现Authentication failure用户时认证失败
  3. C# 使用AggregateException 信息
  4. [vue插件]基于vue2.x的电商图片放大镜插件
  5. Mac Pro m1 安装 brew/eclipse/visual stadio code/nodejs/git
  6. Ubuntu 12/14 个性化配置
  7. [转载]Java Socket实战之二 多线程通信
  8. MapReduce精髓
  9. C# 创建、部署和调用WebService的简单示例
  10. 【Beta】Scrum Meeting 3
  11. 杭电 1142 十字链表存储
  12. m6000查看端口状态_M6000日常查看维护命令.doc
  13. it职位简称_IT行业的英文职位名称
  14. 负数除以正数余数如何求_负数除正数的余数是正还是负?-工业支持中心-西门子中国...
  15. 关于springboot部署服务器的步骤
  16. SDH与SONET(整理)
  17. flex:1 是什么意思
  18. Java什么是对象?
  19. Google可能在春节后回归中国市场。
  20. PWM整流器双闭环PI参数的整定

热门文章

  1. mongodb学习篇
  2. faster rcnn源码解读(四)之数据类型imdb.py和pascal_voc.py(主要是imdb和roidb数据类型的解说)
  3. 手把手入门神经网络系列(2)_74行代码实现手写数字识别
  4. 深入剖析Redis RDB持久化机制
  5. 图像检索中BOW和LSH的一点理解
  6. 利用Matlab优化工具箱解数独问题
  7. 信息系统项目管理师-成本管理知识点
  8. C++ 3 基本数据类型
  9. vue.js 组件之间传递数据
  10. 《嵌入式系统数字视频处理权威指南》——第1章 现实世界中的视频