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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直接载入内存中的DLL
- 下一篇: MFC控件的绘制与响应顺序——ZOrde