Debug Multithread DLL 与 Debug Multithread
在昨日的項(xiàng)目中,更新了其他人的Source與Project文件之后,程序運(yùn)行總是拋出異常。跟蹤調(diào)試的結(jié)果是一處內(nèi)存釋放引起的異常,但是明顯感覺這不是導(dǎo)致問題的真正原因。所以在項(xiàng)目配置方面進(jìn)行了比較,發(fā)現(xiàn)新更新的項(xiàng)目使用Debug MultithreadDLL選項(xiàng),而其他相關(guān)項(xiàng)目使用DebugMultithread選項(xiàng),他們不能夠混合使用?修改成Debug Multithread就沒有問題了。
Visual C++提供的多線程運(yùn)行時(shí)庫又分為靜態(tài)鏈接庫和動(dòng)態(tài)鏈接庫兩類,而每一類運(yùn)行時(shí)庫又可再分為debug版和release版,因此Visual C++共提供了6個(gè)運(yùn)行時(shí)庫。如下表:
| C運(yùn)行時(shí)庫 | 庫文件 |
| 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運(yùn)行時(shí)庫除了給我們提供必要的庫函數(shù)調(diào)用(如memcpy、printf、malloc等)之外,它提供的另一個(gè)最重要的功能是為應(yīng)用程序添加啟動(dòng)函數(shù)。
C運(yùn)行時(shí)庫啟動(dòng)函數(shù)的主要功能為進(jìn)行程序的初始化,對全局變量進(jìn)行賦初值,加載用戶程序的入口函數(shù)。
總結(jié)
以上是生活随笔為你收集整理的Debug Multithread DLL 与 Debug Multithread的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直接载入内存中的DLL
- 下一篇: MFC控件的绘制与响应顺序——ZOrde