是什麼區別速滑運動員的肌肉/ MD和/ MDD(多線程調試DLL)在C/C++ - >代碼生成視覺工作室的VisualStudio C++有什麼區別btw/MD和/ MDD?
propertis ....
是什麼區別速滑運動員的肌肉/ MD和/ MDD(多線程調試DLL)在C/C++ - >代碼生成視覺工作室的VisualStudio C++有什麼區別btw/MD和/ MDD?
propertis ....
他們指定要使用的運行時。兩者都使用多線程動態(DLL)運行時,但/ MDD版本使用調試版本,並且還爲您定義了_DEBUG符號。詳情請參閱this MSDN page。
調試版本(MDD)允許您在調試期間進入C和C++庫。還有對堆不正確操作和內存泄漏的額外檢查。對發佈版本和調試版本具有依賴關係(例如DLL)可能會導致問題,因此建議您堅持使用/ MDD作爲調試版本和/ MD作爲發佈版本。
對於Visual Studio 2005/2008,如果您的應用程序使用/ MDD,但依賴於使用發佈庫構建的DLL,則還需要在發佈項目設置中包含發佈庫清單。
與/ MDd鏈接的程序可能不會在大多數用戶機器上運行,因爲標準庫的調試版本不太可能安裝在它們上。
如果在VS 2012中使用/ MDd進行編譯,則會出現以下依賴項:MSVCP110D.dll。
Visual C++可再發行組件包安裝不會提供此DLL。所以如果你想分發可執行文件,目標機器必須安裝Visual Studio。
另一方面,使用/ MD進行編譯將依賴MSVCP110.dll,其中爲與VS Redistributable Package一起安裝。
糾正我,如果我錯了..
所以沒有什麼不同的充使用任何一個(正確?) – Cute 2009-05-29 08:20:35