我们知道这个模块的功能是动态地将C库加载到Perl代码中.
但是它首先如何将自己的c库加载到Perl中?
我判断它应该有自己的c库,因为我没有在DynaLoader.pm中找到函数dl_load_file,所以它必须在某个c库中……
解决方法
Dynaloader静态链接到Perl(由Configure管理),因此它始终可用.如果必须自己加载自己,它将无法正常工作.
Dynloader的源代码是/ext/Dynaloader/ in the Perl distribution,它包含许多不同的dl_load_file实现,用于Perl可能运行的各种体系结构.
所以是的,dl_load_file在一个库中,但是当perl构建时它会在perl内部结束.