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时才不崩溃。

运行库不一致导致的问题(/MDd /MTd)

如果出现如下问题  error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug” 1>L...
  • ycf8788
  • ycf8788
  • 2016年02月14日 11:35
  • 1116

动态、静态编译以及MD、MDd、MT、MTd编译

一、问题的引出最近在VS2012中新建了一个MFC的工程,在自己电脑上运行很好,但是当拷贝到同学电脑上的时候一直出现“差dll”或者是“应用程序无法启动”的错误。后来找出原因,是自己编译的时候选择静态...
  • u012273127
  • u012273127
  • 2017年05月08日 15:13
  • 460

VC编译选项 多线程(/MT) 多线程调试(/MTd) 多线程 DLL (/MD) 多线程调试 DLL (/MDd)

VC编译选项 多线程(/MT) 多线程调试(/MTd) 多线程 DLL (/MD) 多线程调试 DLL (/MDd)
  • vip_member888
  • vip_member888
  • 2017年06月16日 13:27
  • 512

/MD 与 /MT、/MTD与/MDD的区别

VS在 属性页的 C/C++ -> Code Generation -> Runtime Library 一项中总共有四个选项 /MD 与 /MT、/MTD与/MDD,它们分别有什么区别?...
  • cjqpker
  • cjqpker
  • 2015年07月01日 19:36
  • 2746

运行时库 /MT /MTD /MD /MDD

转载自:http://www.cnblogs.com/eddyshn/archive/2009/11/23/1608823.html  VC编译选项 多线程(/MT)多线程调试(/MTd)多线程 DL...
  • miyunhong
  • miyunhong
  • 2010年02月15日 14:40
  • 5478

多线程调试 DLL (/MDd)

123
  • hzl8908
  • hzl8908
  • 2015年05月14日 15:32
  • 905

VS编译方式 \MT \MD \MTd \MDd

在工程上右键-》属性-》c/c++-》代码生成-》运行库 其中四个选项的对应含义如下: 多线程调试Dll (/MDd) 对应的是MD_DynamicDebug 多线程Dll (/MD...
  • zhangla1220
  • zhangla1220
  • 2015年11月25日 10:30
  • 2336

关于多线程 DLL (/MD)与多线程调试(/MTd) .

在程序中如果将 配置属性-》C/C++-》代码生成-》运行时库  由DLL (/MD)改为多线程调试(/MTd)时重新编译会报错:fatal error C1189: #error :  Please...
  • sheila_1988
  • sheila_1988
  • 2011年10月25日 09:08
  • 3379

VS2005 Debug版,dll /MTd,exe /MDd 跨dll使用CString的链接错误

dll中导出函数 DLL_EXPORT void DoString(CString& str); 如果exe和dll都是/MD,一切正常 如果dll /MTd,exe /MDd 则找不到DoSt...
  • he_zhidan
  • he_zhidan
  • 2016年06月02日 11:30
  • 203

VS工程属性配置 /MDd /MLd /MTd之二(进阶)

什么MT版本的库? 链接选项 预编译宏 链接库 说明 /MD _MT、_DLL MSVCRT.lib 多线程、Release、DLL版本的运行时库 /...
  • yupei881027
  • yupei881027
  • 2013年12月16日 08:55
  • 524
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VS2005 Debug版,dll /MTd,exe /MDd的潜在bug
举报原因:
原因补充:

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