编译多线程应用程序的第一步是要确保编译器使用了正确的运行时库:MS为C运行时库提供了几个不同的实现。这些版本在以下3个标准上有所不同:链接方式(静态or动态)、是否可再入(有一个库是为单线程应用程序设计的,是不可再入的;另一个库是为多线程设计的,是可再入的)、以及是否包含调试符号。

开关

含义

/MT

使用静态链接的多线程应用程序

/MTd

多线程应用程序调试使能

/MD

多线程动态链接库

/MDd

多线程动态链接库调试 使能

支持C程序的微软多线程库:

程序类型

C运行时库

多线程程序

LIBCMT.LIB

支持调试的多线程程序

LIBCMTD.LIB

多线程DLL程序

MSVCRT.LIB(MSVCRT.DLL的引入库)

支持调试的DLL程序

MSVCRTD.LIB(MSVCRTD.DLL的引入库)

支持C++程序的微软多线程库:

程序类型

C++运行时库

多线程程序

LIBCPMT.LIB

支持调试的多线程程序

LIBCPMTD.LIB

多线程DLL程序

MSVCPRT.LIB(也使用MSVCRT.DLL)

支持调试的DLL程序

MSVCPRTD.LIB(也使用MSVCRTD.DLL)

开发人员不能在单个进程空间中混合使用静态和动态库。当一个exe文件用到一个dll时,需要有开发人员保证使用相同版本的C运行时库来正确的构建exe和dll。

More:http://blog.donews.com/me1105/archive/2011/01/26/98.aspx

Windows多线程应用程序的编译和链接相关推荐

  1. 程序的编译和链接过程

    一.虚拟机.linux简介 简单介绍一下虚拟机还有就是各种操作系统,比如centos,Ubuntu 操作系统:linux(centos.Ubuntu.redhat),Android,Windows(x ...

  2. Makefile_02:程序的编译和链接

    程序的编译和链接 1.编译时,编译器会检查代码语法正确.函数与变量的声明的正确性. 2.链接时,主要是链接函数和全局变量,链接器会在所有的 Object File 中找寻函数的实现. 3.在大多数时候 ...

  3. 程序的编译、链接和执行

    参考:程序的编译.链接和执行 - 知乎 处理C语言程序: 预处理.编译.汇编.链接.加载 预处理(Preprocessing) 翻译一段 C 语言程序的第一步是预处理.这一步主要处理所有以" ...

  4. 程序的编译与链接、预处理符号、指令

    程序的编译与链接 1.程序编译 组成一个程序的每个源文件通过编译过程分别转换成目标代码(object code). 每个目标文件由链接器(linker)捆绑在一起,形成一个单一而完整的可执行程序. 链 ...

  5. 一个c语言程序只要编译和链接没有错误,一个 C 语言程序只要编译和链接没有错误,程序运行结果就肯定正确...

    一个 C 语言程序只要编译和链接没有错误,程序运行结果就肯定正确 更多相关问题 网页表单中不能插入表格.() 要想在一个网页中嵌套另外一个网页,一般可以使用页内框架.() 贸易也是一种特殊的技术.() ...

  6. Windows多线程控制台程序

    学习笔记 Windows多线程控制台程序目的:学习和掌握如何编写Windows多线程控制台程序.通过编写程序,加深对进程和线程关系的理解,掌握多线程程序的执行和编写技巧.设计要求:写一个单进程多线程的 ...

  7. linux子系统安装gromacs,科学网—Windows下GROMACS程序的编译 - 李继存的博文

    2015-12-07 22:12:05 总的来说, Windows下的GROMACS程序用于模拟意义不大, 对于长时间的模拟, 我都是放在Linux服务器上进行的. 但将Windows下的GROMAC ...

  8. 操作系统:程序的编译、链接、装入及地址转换

    目录 静态编译与动态编译 程序链接 装入时动态链接 运行时动态链接 程序装入 静态地址重定位 动态地址重地位 基本分页存储管理的地址变换 逻辑地址空间与物理地址空间 前言 在多道程序环境下,要使程序运 ...

  9. c语言程序源代码_程序的编译、链接和执行

    同学们总是抱怨每次见到一道面试题都很难把它转化为程序源代码.然而不幸的是,即使是程序源代码对于计算机来说也还是太高级了.要想让计算机执行一段程序,我们必须把它翻译成最底层的机器指令才行.这其中要经历很 ...

最新文章

  1. XSS 注入漏洞处理
  2. file.seek()/tell()-笔记
  3. 如何在画面中摆放大量图片
  4. CRS磁盘force dismount引起的RAC节点宕机故障
  5. linux切换默认编辑器
  6. 各种排序总结(三)堆排序
  7. Python常用基础语法
  8. android屏幕适配无效_Android 屏幕适配终结者
  9. c语言ascii字母比较大小,C语言中,大写字母M的ASCII码值比小写字母m的ASCII码值大。...
  10. 彻底清理c盘空间,本人亲测有效--WinDirStat
  11. win7 OneNote不能登录一直登录
  12. 学习-Java类和对象之对象组合之求圆柱体积
  13. 浅谈常见浏览器缓存方法(前端缓存)
  14. win10关机后cpu风扇还在转_电脑关机后CPU风扇还在转的原因和解决办法
  15. 人工神经网络通俗解释
  16. 每天学命令deleteRow
  17. 熊哥课件--DOM获取、修改、新增、删除、事件
  18. QQ与TIM的不同之处
  19. html嵌入bilibili视频
  20. leetcode解题思路分析(一百零二)874 - 880 题

热门文章

  1. 远程过程调用失败_快速失败机制amp;失败安全机制
  2. python cnn程序_python cnn训练(针对Fashion MNIST数据集)
  3. 学习vue3系列reactive
  4. 个人计算机预防勒索病毒,Windows10如何开启预防勒索病毒功能|电脑安全开启防御勒索软件的方法...
  5. ibm服务器做系统视频,智慧运算 IBM x3650 M4服务器拆机(视频)
  6. mysql clomn_mysql 命令总结
  7. extjs中滚动条属性_36个工作中常用的JavaScript函数片段「值得收藏」
  8. mysql 事件的作用_MySQL 事件
  9. 20200127:(leetcode)四数之和(动态图解)
  10. java中lock_Java中的锁