引用:http://blog.csdn.net/guoliushui/article/details/43017339

今天跟同事遇到了一个问题,问题背景:

一个动态库Tst.dll;

一个应用程序App.exe;

App.exe调用Tst.dll,其中动态库接口有个输出参数是vector<T> vtLst;

问题:

发现每次vtLst这具vector变量析构的时候程序崩溃。

最终发现是App.exe工程的属性设置导致的由原来的Multi-threaded Debug (/MTd)改为Multi-threaded Debug DLL (/MDd)后问题解决;

原因:

MTd/MT调用的是静态库模式,这种模式下应用程序和动态库中的堆是不共享的,各自使用各自的。它的内存分配原则是在库中申请的内存只能在库中释放。

MDd/MD调用的是动态库模式,这种械下应用程序和动态库都使用应用程序中的堆。申请和释放的都是应用程序上堆的空间。

应用程序调用dll动态库,参数有vector时崩溃的问题的更多相关文章

  1. c#WinForm程序调用vsto动态库,已解决

    最近做一个vsto的项目,涉及到Form程序调用vsto动态库,弄了半天,搜了很多资料终于搞定了,把积累写下来备以后用.相关网址: https://stackoverflow.com/question ...

  2. Java调用dll动态库

    最近项目里使用java调用dll动态库,因此研究了一下这方面的东西. 使用的工具包如下 <dependency> <groupId>net.java.dev.jna</g ...

  3. java使用JNA框架调用dll动态库

    这两天了解了一下java调用dll动态库的方法,总的有三种:JNI.JNA.JNative.其中JNA调用DLL是最方便的. ·JNI ·JNA ·JNative java使用 JNI来调用dll动态 ...

  4. C#总结(四)调用C++动态库

    由于公司很多底层的SDK,都是C++开发,上层的应用软件却是C# Winform程序.在实际工作的过程中,就经常碰到了C# 程序调用C++ 动态库的问题.最近一直在和C++ 打交道,C# 怎么调用C+ ...

  5. JNI_Android项目中调用.so动态库

    JNI_Android项目中调用.so动态库 2014年6月3日 JNI学习 參考:http://blog.sina.com.cn/s/blog_4298002e01013zk8.html 上一篇笔者 ...

  6. C#调用C++动态库(dll)

    在实际软件开发过程中,由于公司使用了多种语言开发,在C#中可能需要实现某个功能,而该功能可能用其他语言已经实现了,那么我们可以调用其他语言写好的模块吗?还有就是,由于C#开发好的项目,我们可以利用re ...

  7. 2017.10.29 C/C++/C#程序如何打成DLL动态库

    C/C++程序如何打成DLL动态库: **1.在VS中新建main.h,添加如下内容:** extern "C" _declspec(dllexport) int onLoad() ...

  8. C/C++/C#程序如何打成DLL动态库

    C/C++程序如何打成DLL动态库:1.在VS中新建main.h,添加如下内容:extern "C" _declspec(dllexport) int onLoad(); 2.新建 ...

  9. Delphi调用C# 编写dll动态库

    Delphi调用C# 编写dll动态库 编写C#dll的方法都一样,首先在vs2005中创建一个“类库”项目WZPayDll, using System.Runtime.InteropServices ...

随机推荐

  1. 运维seq语法

    seq-print a sequence of numbers 用于产生从某个数到另外一个数之间的所有整数 语法:seq 开始列  指定步长  结束列 参数: -f :指定输出格式,允许使用print ...

  2. Tomcat 加腾讯云 实现二级域名访问

    搬家这个时间段不能用,从原网站https://blog.csdn.net/qq_36570464/article/details/86157394 截图过来的.也是自己写的. Tomcat 加腾讯云实 ...

  3. jQuery-3.事件篇---事件对象的使用

    jQuery事件对象的作用 事件中的Event对象容易被初学者忽略掉,可能大多时候初学者不知道怎么去用它,但有些时候它还是非常有用的 一个标准的"click"点击事件 $(elem ...

  4. chrome window 下的所有key josn

    ["postMessage","blur","focus","close","parent",&qu ...

  5. C语言权威指南和书单 - 适用于所有级别

    注:点击标题免费下载电子书 所有级别 1. The C Programming Language (2nd Edition) 2. C: A Reference Manual (5th Edition ...

  6. 数据结构_1+AI_1

    归纳一下今天看的有关数据结构和AI的知识: 数据结构:数据的组织形式和存储方法 主要包括:1.线性结构 2.树结构 3.图结构 1.线性结构:由n个元素构成的有限序列.[数组]为最简单的一种形式. 主 ...

  7. org.springframework.orm.hibernate3.HibernateSystemException:

    org.springframework.orm.hibernate3.HibernateSystemException: The database returned no natively gener ...

  8. Swift中enum, struct, class的有关使用方法

    import Foundation print("Hello, World!") let a = var b = var c = a + b; c = //重载:函数名相同, 函数 ...

  9. python学习线路

    第一章:计算机基础 https://www.cnblogs.com/koukouku/p/10646025.html 1.1 计算机认识 1.2操作系统 1.3 计算机的运算(进制) 1.4解释器/编 ...

  10. 4th week——grid-layout