我的程序必定会使用C/C++的系统函数,我们可以使用静态库的方式(/MT)使用这些函数,也可以使用动态库的方式(/MD)使用这些函数。MT,链接时需要LIBCMT.lib;MD,链接时需要MSVCRT.lib ,运行时需要 MSVCR80.DLL。

各种 C 运行时库的区别
( 1 )静态链接的单线程库
静态链接的单线程库只能用于单线程的应用程序, C 运行时库的目标代码最终被编译在应用程序的二进制文件中。通过 /ML 编译选项可以设置 Visual C++ 使用静态链接的单线程库。
( 2 )静态链接的多线程库
静态链接的多线程库的目标代码也最终被编译在应用程序的二进制文件中,但是它可以在多线程程序中使用。通过 /MT 编译选项可以设置 Visual C++ 使用静态链接的多线程库。
( 3 )动态链接的运行时库
动态链接的运行时库将所有的 C 库函数保存在一个单独的动态链接库 MSVCRTxx.DLL 中, MSVCRTxx.DLL 处理了多线程问题。使用 /MD 编译选项可以设置 Visual C++ 使用动态

多线程(/MT) 多线程调试(/MTd) 多线程 DLL (/MD) 多线程调试 DLL (/MDd)

C 运行时库

库文件

Single thread(static link) ML

libc.lib

Debug single thread(static link) MLd

libcd.lib

MultiThread(static link) MT

libcmt.lib

Debug multiThread(static link) MTd

libcmtd.lib

MultiThread(dynamic link) MD

msvert.lib

Debug multiThread(dynamic link) MDd

msvertd.lib

VS2005配置运行时库

如果出错#error :  Please use the /MD switch for _AFXDLL builds ,请先配置常规。

C运行时库(C Run-Time Libraries)的更多相关文章

  1. Visual C++中对运行时库的支持

    原文地址:http://blog.csdn.net/wqvbjhc/article/details/6612099 一.什么是C运行时库 1)C运行时库就是 C run-time library,是 ...

  2. C运行时库(C Run-time Library)详解(提供的另一个最重要的功能是为应用程序添加启动函数。Visual C++对控制台程序默认使用单线程的静态链接库,而MFC中的CFile类已暗藏了多线程)

    一.什么是C运行时库 1)C运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数. 2)C 语言是所谓的“ ...

  3. [转帖]运行时库(runtime library)

    运行时库(runtime library) https://blog.csdn.net/xitie8523/article/details/82712105 没学过这些东西 或者当时上课没听 又或者 ...

  4. VC 运行时库的引用区别 /MD、/MDd 和 /MT、/MTd和DllMain函数

    /MT和/MTd表示采用多线程CRT库的静态lib版本.该选项会在编译时将运行时库以静态lib的形式完全嵌入.该选项生成的可执行文件运行时不需要运行时库dll的参加,会获得轻微的性能提升,但最终生成的 ...

  5. VC 运行时库 /MD、/MDd 和 /MT、/MTd

    这里总结下他们的区别,后面的那个'd'是代表DEBUG版本,没有'd'的就是RELEASE版本了. 首先说/MT /MT是 "multithread, static version ” 意思 ...

  6. /MD, /MDD, /ML, /MT,/MTD(使用运行时库)

    1. VC编译选项 多线程(/MT)多线程调试(/MTd)多线程 DLL (/MD)多线程调试 DLL (/MDd) 2. C 运行时库                                 ...

  7. VC C运行时库(CRTL)的几个版本及选用

    分类: Windows 2008-12-23 10:01 987人阅读 评论(0) 收藏 举报ciostreammfclibrary多线程import最近做项目碰到了一个关于在动态库中使用MFC以及在 ...

  8. 定位vc运行时库问题 依赖问题,屡试不爽的一招

    用vc 菜单 文件| 打开|指定EXE或DLL,如有指定运行时库,则PE文件的资源中可以看到manifest 配置节 然后据此判断EXE依赖的运行时库, 再根据编译选项调整 运行时库设置

  9. /MD、/MT、/LD( 使用 多线程版本 运行时库的C runtime library)

    /MD./MT./LD(使用运行时库)(微软官网解释) Visual C++ 编译器选项 /MD./ML./MT./LD 区别 指定与你项目连接的运行期库 /MT多线程应用程序 /Mtd多线程应用程序 ...

  10. vs2015部署---下一代VC运行时库系统:the Universal CRT

    前言 其实the Universal CRT(通用C运行时库)已经不能算是“下一代”,因为它已经在前两年伴随着Visual Studio 2015和Windows10发布.但是由于之前使用VS2015 ...

随机推荐

  1. shardingsphere从4.4.1升级至5.5.5注意事项

    为方便讨论,假设有下面2张订单表:t_order_vip(用于存放VIP的订单),t_order_normal(用于存放普通用户的订单)  -- 注:为了演示自定义分片算法而设想的场景,大家不必太纠结 ...

  2. 【VMware vSphere】借助 Live Patch 无停机修补 vSphere 9 集群。

    还记得 VMware vSphere 8 U3 中更新的有关 vSphere 生命周期管理功能吗?其中,vSphere Lifecycle Manager 引入了一个叫 "Live Patc ...

  3. 第一个程序HelloWorld

    HelloWorld 首先要创建一个文件夹存放代码,最好是英文名称. 新建一个java文件. 文件创建后,注意后缀名为.java HelloWorld.java 注意:系统是默认隐藏文件的后缀名的,我 ...

  4. 从0开始实现自己的Shell

    实现自己的Shell(计蒜客996第三周实验) 目录 实现自己的Shell(计蒜客996第三周实验) 进程.地址空间与线程 进程和地址空间 线程 进程控制块 进程状态与用户态和内核态之间的切换 进程状 ...

  5. 浅聊MySQL和postgreSQL

    举例mysql和postgreSQL的sql语句语法有什么区别     MySQL 和 PostgreSQL 的 SQL 语法差异 MySQL 和 PostgreSQL 虽然都遵循 SQL 标准,但在 ...

  6. vue06-single-file-component

    vue-cli下载 npm i -g vue-cli vue list vue init webpack 加载其他模块 <template> <div class="hel ...

  7. P8328 [COCI 2021/2022 #5] Usmjeravanj

    P8328 [COCI 2021/2022 #5] Usmjeravanj 本题的实际难度和通过数不是相符. 实际思维难度:蓝 代码实现难度:绿 部分1.简化题意 存在两条河流,假设分别叫做① 和 ② ...

  8. 预测LLM微调与遗忘副作用的新方法MNEME

    摘要 大型语言模型(LLM)常通过微调或知识遗忘来适应新任务或消除不良行为.现有评估方法虽能衡量干预后的性能,却缺乏检测不可预测或涌现性副作用(如遗忘生物学内容导致化学任务性能下降)的通用方案.为此, ...

  9. CF778A String Game (二分答案)

    codeforces链接:https://codeforces.com/problemset/problem/778/A CF778A String Game 题目描述 Little Nastya h ...

  10. 杭电多校2020-2 Lead of Wisdom

    http://acm.hdu.edu.cn/showproblem.php?pid=6772 题意: n件物品,每种物品有一个种类ti四个属性 ai , bi , ci , di每个种类最多选一件物品 ...