gpt4 book ai didi

c++ - 使用动态库(dll/dylib)进行内存管理

转载 作者:行者123 更新时间:2023-11-30 00:38:01 28 4
gpt4 key购买 nike

在应用程序中分配内存并在从 dll/dylib 调用的函数中释放内存是否有任何问题?

但是要从 dll/dylib 的函数中分配内存并在调用者应用程序中释放它?

最佳答案

对于静态库来说,这通常不是问题,但对于动态库来说通常不是一个好主意。特别是对于项目之间共享的库。

问题是您需要确保内存分配函数(新建/删除、malloc/free)在您的调用代码和动态库之间完全匹配。例如,如果您静态链接 C 运行时与您的可执行文件,但动态库是动态链接的(反之亦然),那么您有单独的代码为可执行文件和动态库运行 malloc。

为避免任何问题,动态库通常会公开自己的分配和释放例程以保证一致性。

关于c++ - 使用动态库(dll/dylib)进行内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11937674/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com