【发布时间】:2019-05-04 13:33:54
【问题描述】:
在加载指定名称的共享库时,系统会根据搜索顺序或缓存在某些目录中搜索实际文件(例如 .dll)。
如何以编程方式获取 DLL 的解析路径,但不实际加载它?例如。在 Windows 上,对于kernel32 或kernel32.dll,它可能会返回C:\windows\system32\kernel32.dll,而给定foo 它可能是C:\Program Files\my\app\foo.dll。
如果不能这样做,是否有另一种方法来确定某个库是否属于系统?例如。 user32.dll 或 libc.so.6 是系统库,但 avcodec-55.dll 或 myhelperslib.so 不是。
我对适用于 Windows、Linux 和 Mac OS 的解决方案感兴趣。
【问题讨论】:
-
对于 Mac,这个问题密切相关:stackoverflow.com/q/45464584/103167