是否可以指定某些代码块,我不希望在VC ++ 2010的Debug构建中生成调试符号?那么这些部件可以以优化的速度运行,而其他(逻辑)代码块可以调试吗?
原因是我必须读取一个带有百万+行的输入文件,这在调试模式下非常慢,但我不想使用较小的示例输入文件。
干杯, 麦克
答案 0 :(得分:5)
一些建议:
optimize
pragma(http://msdn.microsoft.com/en-us/library/chh3fb0k.aspx)来查看它是否能满足您的需求请注意,符号生成和优化是分开的 - 优化的代码可以生成符号而不会损害优化(但由于优化调试器可能仍然会混淆跟踪或设置断点)。但是没有太多理由试图压缩特定文件的符号(除非为了混淆目的)。
需要注意的一些其他事项是,调试和非调试运行时之间也存在差异 - 您只能链接到其中一个或另一个。因此,如果您想要摆脱的缓慢是在调试运行时,您将不得不链接到非调试运行时,这可能会妨碍您在其他方面进行调试。如果您正在使用C ++,那么还存在调试和安全迭代器的问题(由_HAS_ITERATOR_DEBUGGING
和_SECURE_SCL
宏控制) - 您不能混合和匹配使用不同设置编译的代码迭代器配置(参见Visual Studio debug iterators)。
答案 1 :(得分:2)
我更喜欢替代解决方案(需要更少的工作)。如果你找不到,这可能适合你: