小编jan*_*jan的帖子

在Mac OSX中加载和卸载共享库

如果此问题在此论坛之前已经重复,我很抱歉.我有一个问题,在Mac中加载和卸载dylib不能正常工作(特别是卸载部分.).问题是,如果我有一个可执行文件,如果我加载一个共享库说A.dylib然后使用加载的共享库加载一个库说B.dylib.当我尝试在稍后阶段卸载库B.dylib时,没有返回错误代码(返回int值为0 - 因为我使用常规dlopen和dlclose函数来加载和卸载库,0表示成功卸载) ,但是当我检查以确保使用活动监视器或lsof时,b.dylib仍然在内存中.

现在我们正在为windows,linux和mac移植这段代码.Windows和Linux按预期工作,但只有mac给我带来了问题.

我正在阅读mac开发人员库并发现:"有几种情况永远不会卸载动态库:1)主要可执行文件链接,2)不支持卸载的API(例如NSAddImage())用于加载它或一些依赖它的动态库,3)动态库在dyld的共享缓存中."

在我的情况下,我不会跌倒前两个案件中的任何一个.我怀疑案件3.
这是我的问题:1.我能做些什么来确保我有案例3?2.如果是,如何解决?3.如果没有,如何解决?4.为什么mac如此不同?

在这方面的任何帮助表示赞赏!

谢谢,Jan

shared-libraries

5
推荐指数
1
解决办法
3001
查看次数

在stl中acos,atan函数是否使用了大量的cpu周期

我想计算两个向量之间的角度,但我已经看到这些反向触发操作,如acos和atan使用了大量的cpu周期.有没有办法在不使用这些功能的情况下完成计算?此外,当您进行优化时,这些真的会让您感到震惊吗?

c++ math optimization

3
推荐指数
1
解决办法
3182
查看次数

标签 统计

c++ ×1

math ×1

optimization ×1

shared-libraries ×1