我將使用IBM量化對嘗試比較在我的程序調用不同功能的運行時間,但頭疼的是,許多函數調用了DEBUG宏outputing這樣的東西,調試信息的影響分析結果C++
#ifdef DEBUG
cout << "Value is "<< value << endl;
#endif
當我進行分析時,發現這些IO操作花費了大部分時間,當然我關心的是發佈版本的實際運行時間。有什麼我可以做的,以獲得更準確的結果發佈版本,而不是手動刪除這些DEBUG宏?
我在調試模式下使用Visual Studio編譯器構建代碼,當我使用-o選項構建它時,無法運行分析說沒有可用的調試信息。
不知道我能做到這一點,非常感謝! – Derek
嗨,我得到了另一個問題。我建立了發佈的版本,PDB也在那裏,但似乎Quantify無法識別DLL時,我將它添加到性能分析運行。有沒有一種方法可以將PDB與發佈的DLL鏈接起來? – Derek
鏈接器使用映射和相關PDB文件中的唯一標識(GUID)將PDB自動「綁定」到您的DLL映像文件。這裏(http://www.codeproject.com/Articles/37456/How-To-Inspect-the-Content-of-a-Program-Database-P)更多關於這個綁定機制的信息和一種測試方法。 – mox