Perl通过@DynaLoader::dl_librefs
中的文件句柄保存外部动态加载库的数据库如何找出DynaLoader
保留句柄的库?
sub f {
my $h = shift;
# something that gives me a name, or caller or something useful?
return $name;
};
map f($_), @DynaLoader::dl_librefs;
我该怎么办?
答案 0 :(得分:1)
DynaLoader::bootstrap不会保存其加载的文件的名称((define s (make-source '(a b c))
(s 'next 1)
; Output:
; a
(s 'seq 1) ; 1 could be replaced with any thing actually
; Output
; (a b c)
)。 [1]
句柄本身是依赖于系统的句柄。例如,在Windows上,$file
(动态链接)或HMODULE
(静态链接)返回{{1}}个值。在该系统上,您可以使用GetModuleFileName
。
但是,它确实将路径与模块包中名为LoadLibraryExA
的子关联。您可以使用以下代码段来查找特定DynaLoader使用模块的库的路径。
GetModuleHandle