std::map 蹩脚字符仅在发布模式下
我有一个 std::map 作为函数的参数,在调试模式(VS2008)下,映射具有正确的键和值,但是当我在发布中启动程序时,映射中存在蹩脚的字符!
代码转储:
std::map<CString, CString> libVersions;
... // fill values
utilFunctions->Function(&libVersions))
bool UtilityFunctions::Function(std::map<CString,CString> *dllMapData)
{
...
map<CString,CString>::iterator it;
for(it=dllMapData->begin(); it!=dllMapData->end(); it++)
{
...
}
...
}
有什么想法为什么此代码在发布模式下不起作用???
感谢和问候
I have an std::map as parameter for an function and in Debug Mode (VS2008) the map have the correct keys and values, but when I start the program in Release there are crappy chars in to the map!
Code dump:
std::map<CString, CString> libVersions;
... // fill values
utilFunctions->Function(&libVersions))
bool UtilityFunctions::Function(std::map<CString,CString> *dllMapData)
{
...
map<CString,CString>::iterator it;
for(it=dllMapData->begin(); it!=dllMapData->end(); it++)
{
...
}
...
}
Any ideas why this code is not functional in Release mode???
Thanks and greets
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我的猜测是,在发行版中,您仍在针对调试 CRT 进行编译,并且没有定义 _DEBUG(反之亦然)。
My guess is that in release you are still compiling against the debug CRT and don't have _DEBUG defined (or vice versa).