Debug Multithread DLL 与 Debug Multithread

在昨日的项目中,更新了其他人的Source与Project文件之后,程序运行总是抛出异常。跟踪调试的结果是一处内存释放引起的异常,但是明显感觉这不是导致问题的真正原因。所以在项目配置方面进行了比较,发现新更新的项目使用Debug MultithreadDLL选项,而其他相关项目使用DebugMultithread选项,他们不能够混合使用?修改成Debug Multithread就没有问题了。

Visual C++提供的多线程运行时库又分为静态链接库和动态链接库两类,而每一类运行时库又可再分为debug版和release版,因此Visual C++共提供了6个运行时库。如下表:

C运行时库

库文件

Single thread(static link)

libc.lib

Debug single thread(static link)

libcd.lib

MultiThread(static link)

libcmt.lib

Debug multiThread(static link)

libcmtd.lib

MultiThread(dynamic link)

msvert.lib

Debug multiThread(dynamic link)

msvertd.lib

C运行时库除了给我们提供必要的库函数调用(如memcpy、printf、malloc等)之外,它提供的另一个最重要的功能是为应用程序添加启动函数。
  C运行时库启动函数的主要功能为进行程序的初始化,对全局变量进行赋初值,加载用户程序的入口函数。

你可能感兴趣的:(Debug Multithread DLL 与 Debug Multithread)