perl6 – Perl 6 NativeCall和C源文件

perl6 – Perl 6 NativeCall和C源文件,第1张

概述使用NativeCall为 Windows和 Linux发布用于C库的Perl 6绑定的最佳策略是什么? 开发人员是否需要编译.dll和.so文件并将它们与perl6代码一起上传到github?或者perl6上有一个选项,比如perl5可以将C源文件与Perl 6代码捆绑在一起,C编译器将作为make和make install的一部分运行吗? 不需要首先编译库(尽管它们可能是).要完成此任务,首先 使用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是一个工作的例子

总结

以上是内存溢出为你收集整理的perl6 – Perl 6 NativeCall和C源文件全部内容,希望文章能够帮你解决perl6 – Perl 6 NativeCall和C源文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1247870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存