腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
包装CoTaskMemAlloc
和
CoTaskMemFree的智能指针
、
、
、
、
我目前正在用C++开发一个
跨
平台的
共享
库
,遇到了
跨
模块
边界
的
内存
管理问题,即在调用它的进程中
释放
我的
共享
库
中
分配
的
内存
。有没有使用这些方法的智能指针实现,以便智能指针可以
跨
DLL
边界
共享
?
浏览 18
提问于2019-09-24
得票数 2
2
回答
跨
共享
库
边界
分配
和
释放
内存
、
、
、
在使用windows dll时,我们应该将
内存
分配
/
释放
限制在dll
边界
内,因为dll可以使用自己的堆。所以我们有从dll导出
分配
器
和
自由函数。linux上的
共享
库
也存在这个问题吗?在处理
共享
库
(.so)时,我们还需要注意在
共享
库
中保持
分配
/
释放
。我在下面做了一些快速试用,它在linux上工作。vec.push_back(2)
浏览 23
提问于2020-10-28
得票数 6
回答已采纳
2
回答
什么时候DLL会使用与可执行文件不同的堆?
、
在这种情况下,DLL删除exe
分配
的内容是不安全的。在什么情况下这不适用(如在中,DLL删除
分配
的exe是安全的)?如果exe
和
DLL都针对同一运行时
库
进行静态链接,是否安全?谢谢 基本上,有没有一种方法,无论谁
分配
它,都可以只做addEvent(new DerivedEvent(), FunctorDestroyClass());
浏览 1
提问于2011-01-11
得票数 5
回答已采纳
2
回答
DLL
内存
管理器混淆
、
、
、
到目前为止,为了处理这些对象的所有权问题,我在返回的对象上使用了一个简单的计数
共享
指针,以便在删除最后一个引用时销毁它们。然而,这往往会在Windows上触发崩溃,因为在插件DLL中这个对象不太可能是新的,但是后来(由于对
共享
指针的deref()调用)在主应用程序中删除了-而且AFAIK这个malloc/free混合在Windows到目前为止,我的方法是,插件贡献的所有对象都在插件中
分配
,也在其中发布--当然,另一种选择可能是在主应用程序中
分配
所有
内存
(通过向插件提供一个指向malloc的指针,
浏览 6
提问于2009-07-06
得票数 2
回答已采纳
1
回答
如何在delphi应用程序中
释放
c++动态链接
库
中的
内存
分配
、
、
我在c/c++ dll中
分配
给它时遇到问题,用delphi调用它,如下所示:#include "MemTestDll.h" //FreeMem(ptr); // crashend; 我看到了任务管理器,每次点击都会泄漏8KB
内存
我如何
释放</
浏览 3
提问于2013-08-15
得票数 4
回答已采纳
4
回答
在Visual中针对发布中的
库
和
调试崩溃中的.exe进行链接
、
、
、
我有一个在调试模式下编译的应用程序,但是在发布模式下链接到一个
库
。在lib_release (在发布模式下创建
库
)上,我使用多线程(/MT),在exec_using_lib_release上使用多线程调试(/MTd)。
浏览 7
提问于2009-08-04
得票数 6
回答已采纳
1
回答
在同一个AppPool中的应用程序之间
共享
变量?
、
、
静态变量不能使用,因为不同的应用程序(即使在同一个应用程序池下)不会
共享
。 DB/File/Server是已知的选项。
浏览 5
提问于2017-09-27
得票数 3
回答已采纳
2
回答
使用dll中的接口是否安全
、
、
which is used in the exe.beginend; 那么
内存
管理呢我能不能传入/传出不同的接口
和
字符串,而不会担心
和
崩溃?
浏览 2
提问于2012-01-13
得票数 4
回答已采纳
2
回答
C++将发行版构建的
库
与我的调试版本相链接
我已经下载了一个第三方
库
,并在“发布”模式下构建了.lib文件。将
库
添加到我的项目后,如果我在发布模式下运行我的项目,就可以了。但是如果我在调试模式下运行我的项目,我会得到一个错误:我可以在调试模式下重新构建
库
,但我不认为我需要调试
库
本身我已经下载了预构建的第三方
库
,在此之前只有一个发布版本(我假设?)无论我的项目是在调试中还是在发布中,这个链接都很好。
浏览 2
提问于2011-04-25
得票数 12
2
回答
跨
DLL
边界
引发C++异常
、
、
我读过各种关于不应该在一个DLL中
分配
堆
内存
和
从该DLL外部
释放
它的内容。但是抛出一个仅仅是临时的异常对象(就像大多数异常对象一样)呢?throw my_exception( args ); // temporary: no heap allocation 当异常对象在DLL之外被捕获时,该对象的析构函数最终将被执行,并且该对象的非堆
内存
将被回收既然它不是堆
内存
,那就可以了吗?
浏览 3
提问于2011-02-25
得票数 31
3
回答
如何在C#中
释放
在C++中
分配
的
内存
、
、
、
、
我有一个C++动态链接
库
,它从摄像机读取视频帧。这些帧在通过指向调用方( C#程序)的指针返回的DLL中得到
分配
。每个视频帧都超过9MB。代码很多,所以我将简单
浏览 16
提问于2015-05-26
得票数 4
回答已采纳
1
回答
共享
库
对象是否作为程序的
共享
内存
加载?
、
当我开始问自己关于
共享
库
中的free()
和
SIGKILL等等时,我正在编写一些C代码。然后,经过阅读
和
重新思考,我提出了一个简单的问题。上下文:当加载器读取指向某个libA.so
共享
对象的ELF文件并加载
库
时,它会将整个段映射到程序的
内存
地址空间吗?它会将它
分配
为
共享
内存
吗?据我所知,内核将不接受死进程的
共享
内存
,因此: 如果加载
共享
对象并
分配
<
浏览 0
提问于2018-06-20
得票数 2
1
回答
在dll中使用ReallocMem,用于在主机应用程序中首次
分配
指针(Delphi )
、
、
var pHI: PHostInterfaceNew); Writeln(pHI^.x2); // here i want to have value "1" 在动态链接
库
中使用
浏览 0
提问于2016-08-07
得票数 0
回答已采纳
2
回答
何时以及为什么在CoTaskMemAlloc过滤器中使用DirectShow ()?
、
、
我正在使用DSPACK DirectShow组件
库
在Delphi6Pro中构建一个DirectShow过滤器。在Push Source过滤器示例中,对于某些项,它们使用CoTaskMemAlloc(),特别是为Windows调用中使用的项
分配
内存
,例如视频位图信息头(PVIDEOINFOHEADER)
和
O/S文件操作其他项则使用通常的(Object).Create()调用或直接创建动态数组来
分配
。 当您必须在CoTaskMemAlloc过滤器中使用DirectShow ()时,规则/指
浏览 1
提问于2011-10-26
得票数 2
回答已采纳
1
回答
如何解读top报告的SHR增长?
、
、
、
顶部的手册页将SHR定义为:我可以看到这种增长的一个过程,但我不确定到底是什么报告这里。此进程链接的
共享
对象
库
正在
分配
和
释放
内存
,但不打开任何
共享
内存
段,而pmap没有显示正在加载的任何其他
库
。还有什么构成了
共享
内存<
浏览 0
提问于2012-12-11
得票数 3
6
回答
卸载DLL时的
内存
泄漏是否会导致宿主进程中的
内存
泄漏?
、
、
、
、
UnloadDLL(dll); 此时,在调用malloc()时
分配
的1k将再次可用于主机进程吗?DLL静态链接到CRT。
浏览 4
提问于2008-09-25
得票数 10
回答已采纳
1
回答
安卓SQLiteOpenHelper打开/关闭/光标管理
、
、
、
、
只是输入“上下文”:我是android/java的新手,并且习惯于更“紧密”地使用
内存
,这给我带来了一些愚蠢的问题。1) SQLiteOpenHelper.getWritableDatabase()返回一个指向已
分配
对象的指针,还是
分配
一个新的独立对象?3)从database.query创建的游标是依赖的,并与数据
库
对象
共享
内存
(如果数据
库
被
释放
,将被
释放
)还是可以在数据库
内存
释放
后使用的
浏览 0
提问于2017-05-03
得票数 0
4
回答
多个C++ .lib项目到.dll项目,Lua崩溃!
、
、
、
但是现在我想把引擎
和
游戏.libs转换成.dlls,这样我就可以使用visual studio C++的编辑并继续功能了。实际上,它总是在与
释放
内存
相关的Lua函数中崩溃。我不确定,但我认为.dll有点像没有主函数的.exe,每个都有自己的
内存
。因此,例如,当Game.dll导致Lua
分配
一些
内存
,而Engine.dll导致Lua再次
释放
内存
时,轰隆隆!对,是这样? 对如何
浏览 1
提问于2010-08-02
得票数 1
回答已采纳
2
回答
智能指针在GUI
库
中的应用
、
、
为一个附带项目滚动我自己的GUI
库
。重构以使用智能指针;但是,我遇到了一个问题。};另
浏览 0
提问于2017-06-27
得票数 1
回答已采纳
1
回答
缓存/缓冲
内存
总是在应用程序请求时立即
释放
吗?
、
、
、
问题是我们得到了“不能
分配
内存
”错误(用于通过PostgreSQL
分配
共享
内存
段),尽管它们的“可
释放
内存
”
和
“自由交换”度量显示了大量可用
内存
。支持声称这是因为
共享
/缓冲区
内存
(IO缓存)处于“活动状态,因此不能直接
释放
”,并且
内存
从缓冲区到应用程序的重新
分配
不是即时的,而且需要一些时间。据我所知,这不是真的,因为Linux内核总是能
浏览 0
提问于2019-07-19
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
全面理解C+指针和内存管理(四)
Rust FFI 编程-Rust导出共享库06
学习笔记:Redis内存划分以及优化内存占用的方式
全面理解C+指针和内存管理(一)
池
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券