如何找出DynaLoader“库引用”引用的内容?

时间:2017-10-20 01:26:39

标签: perl module

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;

我该怎么办?

1 个答案:

答案 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

  1. 但是,它确实将路径与模块包中名为LoadLibraryExA的子关联。您可以使用以下代码段来查找特定DynaLoader使用模块的库的路径。

    GetModuleHandle