加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl6 – Perl 6 NativeCall和C源文件

发布时间:2020-12-16 06:21:07 所属栏目:大数据 来源:网络整理
导读:使用NativeCall为 Windows和 Linux发布用于C库的Perl 6绑定的最佳策略是什么? 开发人员是否需要编译.dll和.so文件并将它们与perl6代码一起上传到github?或者perl6上有一个选项,比如perl5可以将C源文件与Perl 6代码捆绑在一起,C编译器将作为make和make inst
使用NativeCall为 Windows和 Linux发布用于C库的Perl 6绑定的最佳策略是什么?

开发人员是否需要编译.dll和.so文件并将它们与perl6代码一起上传到github?或者perl6上有一个选项,比如perl5可以将C源文件与Perl 6代码捆绑在一起,C编译器将作为make和make install的一部分运行吗?

解决方法

不需要首先编译库(尽管它们可能是).要完成此任务,首先需要在发行版的根目录中使用Build.pm文件:

class Builder {
    method build($dist-path) {
        # do build stuff to your module
        # which is located at $dist-path
    }

    # Only needed for panda compatability
    method isa($what) {
        return True if $what.^name eq 'Panda::Builder';
        callsame;
    }
}

然后你会想要使用像LibraryMake这样的模块.这里我们在构建方法中使用它的make例程:

use LibraryMake;

class Builder {
    method build($dist-path) {
        make($dist-path,"$dist-path/resources");

        # or you could do the appropriate `shell` calls
        # yourself and have no extra dependencies
    }

    ...

包管理器zef和panda支持此方法,并且还允许通过perl6 -I手动运行它. -MBuild -e’Builder.new.build($* CWD)’

Here是一个工作的例子

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读