相关疑难解决方法(0)

在调用dlclose时,共享库中的全局变量会发生什么?

如果通过dlopen和dlclose机制使用共享库(或DLL),并且如果创建的共享库有一些全局变量,其内存来自堆,那么当调用dlclose时这些变量和内存会发生什么?

如果在同一个进程中再次调用dlopen,那么行为是什么?

c dll shared-libraries dlopen

4
推荐指数
1
解决办法
2267
查看次数

Linux C/C++ 在动态库中分配/释放内存

我必须将我的应用程序拆分为几个逻辑模块。

mainapp

  • module1.so
  • module2.so
  • module3.so
  • 等等

每个模块都是一个*.so库,将在运行时加载。

每个模块共享相同的接口并返回一些数据数组。例如:

int *ptr = module1->getIntData();

可以在mainapp一边释放/删除此内存吗?

int *ptr = module1->getIntData();
delete ptr; //(or free(ptr))
Run Code Online (Sandbox Code Playgroud)

malloc/free 实现怎么样。有没有可能,那个库会使用另一个然后是 mainapp?

c c++ linux allocation dynamic-library

4
推荐指数
1
解决办法
995
查看次数

标签 统计

c ×2

allocation ×1

c++ ×1

dll ×1

dlopen ×1

dynamic-library ×1

linux ×1

shared-libraries ×1