VS2005 Debug版,dll /MTd,exe /MDd的潜在bug

原创 2016年06月02日 10:12:39
VS2005 Debug版,dll /MTd,exe /MDd的潜在bug
dll中:
void DoStr(std::string& str)
{
 str += "12345678901234";
}
exe中
void CtestexeDlg::OnBnClickedButton1()
{
 std::string str = "1"; 
 DoStr(str);
}
运行正常。修改str的初始值为"12",就崩溃了。
原因在于:
VS2005的std::string 当数据较短时,不从堆中分配内存;较长时,才从堆中分配内存。
跨组件(dll或exe)分配、释放内存只有当双方都是MD或MDd时才不崩溃。
版权声明: 举报

相关文章推荐

如何在其他电脑上运行VS2005编译的DEBUG版应用程序

做项目的过程中,遇到这样的问题:在自己的电脑上用VS2005编译好的DEBUG版程序在其它的没有安装VS2005的电脑上没有办法运行,郁闷至极啊。 直 接拷贝文件后,错误信息如下:"This ap...

C#(C Sharpe)百度云推送sdk(DLL版)vs2005可用

在网上找了好久也没找到vs2005的sdk,经过1天的修改后 原来的sdk终于可以放到vs2005上运行了,给大家分享下下先。 (vs2005及以上都能运行) 【引用2个DLL,直接玩转推送...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

vs2005 vc++ 生成非托管的 不需要.net运行环境的exe程序方法

在VS2005里开发的VC++程序在编译的时候,微软默认会加入自己的 .Net Framework (方便推广自家产品),让你的VC++程序依赖它,这就导致程序编译后,无法跟往常一样直接打包,在别的机...

VS2005 DEBUG 设置断点条件

今天在调一个漏洞修复的crash的时候,进入了一个很大的循环,循环不停地检测是否有当前漏洞,断点打在循环体里面,已知出问题的漏洞的KB号,但是如果要在刚好扫描到这个KB号的时候断下来,还有点小麻烦,我...

vs2005(C++)·无法找到“XXX.exe”的调试信息

转载地址:http://mervyn807.blog.163.com/blog/static/4530725920112104144448/ 今天需要调试一点东西,新建了一个空项目,敲进几行...

在VS2005中出现 "LC.exe"已退出,代码-1 的解决方法

原文网址:http://jcobra.blog.163.com/blog/static/470493200702910552928/ 在VS2005中出现 "LC.exe"已退出,代码-1 的解决方法...

VS2005中派生模板类的BUG

一般来说犯错误的都是开发者.VS的错误还是蛮少的.额..除了预编译头有时候会错误要Clean一下. 今天确实遇到了一个bug.查了半天.又写了好些测试代码.才把错误模型整理出来. 发现是在存在虚函...

VC自动化向导的bug2(vs2005使用Labview控件类时的错误)

项目中用到Labview的slider控件,需要在程序中控制slider填充区域的颜色(图中绿色区域) .    颜色参数为属性分组中的Pointer中的FillColor属性.    查找slid...

vs2005中动态i链接库DLL的一个简单例子

在vs2005中对动态链接库做实验,来一个详细的能跑通的例子: 1、打开vs2005,文件-》新建-》项目,选择“win32项目”,在“名称”中输入“vsdll ”,点“确定”-》下一步,在“应用程...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)