Perl模块(.pm)如何调用相应的.so?
我刚刚编译并运行了hello world Perl扩展,但我不知道其原理。pm如何调用.so?不需要-二进制代码在模块的命名空间中定义了一些变量和函数,它们可以像常规变量一样使用。.pm文件只需要确保在需要时加载.so。这是由模块完成的。通过继承DynaLoader,您可以确保在类上调用未知方法时加载.so文件。不需要-二进制代码在模块的命名空间中定义了一些变量和函数,它们可以像常规变量一样使用。.pm文件只需要确保在需要时加载.so。这是由模块完成的。通过从DynaLoader继承,您可以确保在类上调用未知方法时加载.so文件。您没有提到.pm如何映射到.so。@Learning:这是由DynaLoader或其轻量级同类XSLLoader完成的;如果您愿意,您可以读取该文件的源代码,但其他人不必关心它的工作方式。@学习:对于模块Foo::Bar,文件是auto/Foo/Bar.so-规则与.pm文件几乎相同,但带有auto/directory前缀。查看DynaLoader中的引导函数,这通常是所有这些的入口点,perldoc对此过程进行了简要而清晰的描述。请记住,二进制文件并不总是.dll,所以在Windows上是.dll,在OSX上是.dylib,等等。查找用于动态加载的二进制库通常比较容易。您没有提到.pm如何映射到.so。@学习:这是由DynaLoader或其轻量级的同类XSLLoader完成的;如果您愿意,您可以读取该文件的源代码,但其他人不必关心它的工作方式。@学习:对于模块Foo::Bar,文件是auto/Foo/Bar.so-规则与.pm文件几乎相同,但带有auto/directory前缀。查看DynaLoader中的引导函数,这通常是所有这些的入口点,perldoc对此过程进行了简要而清晰的描述。请记住,二进制文件并不总是.dll,所以在Windows上是.dll,在OSX上是.dylib,等等。定位用于动态加载的二进制库通常很容易。Perl模块(.pm)如何调用相应的.so?,perl,Perl,我刚刚编译并运行了hello world Perl扩展,但我不知道其原理。pm如何调用.so?不需要-二进制代码在模块的命名空间中定义了一些变量和函数,它们可以像常规变量一样使用。.pm文件只需要确保在需要时加载.so。这是由模块完成的。通过继承DynaLoader,您可以确保在类上调用未知方法时加载.so文件。不需要-二进制代码在模块的命名空间中定义了一些变量和函数,它们可以像常规变量一样使用。.pm文件只需要确保在需要时加载.so。这是由模块完成的。通过从DynaLoader继承,您可以确保