gpt4 book ai didi

perl - 在哪里可以找到 perl 共享对象目录?

转载 作者:行者123 更新时间:2023-12-01 23:03:03 24 4
gpt4 key购买 nike

我刚刚购买了一个商业 perl 共享对象,它的文档非常简单。具体来说,它是一个“.so”文件,我知道它需要进入 perl 用来查找共享对象的任何目录。

通常我会遇到“.pm”文件并且知道如何安装没有问题,但这是我第一次在 perl 中使用某些东西,我必须安装“.so”文件,或者将其复制到目录中。

任何人都知道我将如何找到这个目录?这是我不熟悉的 Perl 香肠制作水平(而且我还是个培根女孩。哈哈!)。
珍妮

更新:(为了更清楚)。出售这个的公司有一个名为“hcmodule.so”的文件。他们的示例 perl 脚本中有一个 use pragma,即“use hcmodule”,稍后调用..

$retval = hcmodule( ........ <SNIP>..);

如果这有助于明确的事情有点。

最佳答案

Perl 从其 lib 下的目录加载共享对象。目录。在某些 Perl 安装中,这将是 libbin 平行的目录找到主要 Perl 二进制文件的目录。在某些系统中,它将位于其他位置。例如,我自己构建的 Perl(MacOS X 上的 5.14.1)说(perl -V 的部分输出):

@INC
/Users/jleffler/Perl/v5.14.1-64/lib/perl5/site_perl/5.14.1/darwin-2level
/Users/jleffler/Perl/v5.14.1-64/lib/perl5/site_perl/5.14.1
/Users/jleffler/Perl/v5.14.1-64/lib/perl5/5.14.1/darwin-2level
/Users/jleffler/Perl/v5.14.1-64/lib/perl5/5.14.1

另一方面,系统 Perl (5.12.3) 说:
@INC:
/Library/Perl/5.12/darwin-thread-multi-2level
/Library/Perl/5.12
/Network/Library/Perl/5.12/darwin-thread-multi-2level
/Network/Library/Perl/5.12
/Library/Perl/Updates/5.12.3
/System/Library/Perl/5.12/darwin-thread-multi-2level
/System/Library/Perl/5.12
/System/Library/Perl/Extras/5.12/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.12

MacOS X 上的共享对象有 .bundle扩展名(而不是 .so ),我拥有的一些捆绑包是:
.../lib/perl5/site_perl/5.14.1/darwin-2level/auto/DBD/Informix/Informix.bundle
.../lib/perl5/site_perl/5.14.1/darwin-2level/auto/DBD/SQLite/SQLite.bundle
.../lib/perl5/site_perl/5.14.1/darwin-2level/auto/DBI/DBI.bundle

对应的 PM 文件为:
.../lib/perl5/site_perl/5.14.1/darwin-2level/DBD/Informix.pm
.../lib/perl5/site_perl/5.14.1/darwin-2level/DBD/SQLite.pm
.../lib/perl5/site_perl/5.14.1/darwin-2level/DBI.pm

在任何情况下,Perl 都希望寻找 .so与模块名称相关的目录中的文件。应该有安装说明,尤其是在您付费之后。 (至少)会有一个共享对象和一个 .pm要安装的文件,在两个相关的目录中。

关于perl - 在哪里可以找到 perl 共享对象目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7113320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com