在Perl上编写程序集

在Perl上编写程序集,perl,ffi,Perl,Ffi,我想编写一个小的汇编代码并从Perl调用它: 我查看了cpan并找到了这两个Perl模块 这是非常古老的 提到可以从perl调用assembly,我查看了示例,但没有找到任何与汇编代码相关的示例 如果您知道如何将FFI::Platypus::Lang::ASM与Perl结合使用,请举个例子 如果您知道如何将FFI::Platypus::Lang::ASM与Perl结合使用,请举个例子 该模块的作者没有为该代码本身提供任何示例。看起来这可能是一个未完成的项目 无论如何,这是一件非常奇怪的事情。Pe

我想编写一个小的汇编代码并从Perl调用它:

我查看了cpan并找到了这两个Perl模块

  • 这是非常古老的
  • 提到可以从perl调用assembly,我查看了示例,但没有找到任何与汇编代码相关的示例
  • 如果您知道如何将FFI::Platypus::Lang::ASM与Perl结合使用,请举个例子

    如果您知道如何将FFI::Platypus::Lang::ASM与Perl结合使用,请举个例子

    该模块的作者没有为该代码本身提供任何示例。看起来这可能是一个未完成的项目

    无论如何,这是一件非常奇怪的事情。Perl在远离程序集的地方运行了两个抽象级别——它们之间的互操作充其量也不方便


    一个更实用的解决方案是编写C代码,将其调用到汇编代码中(或将其嵌入为内联汇编),然后使用XS将该代码改编为Perl。

    就像内联::ASM时代一样。。。这有什么关系?如果编译到共享对象并使用
    NativeCall
    接口,那么从Perl6调用assembly也很简单,请参见FOSDEM 2016。还有一个问题是,为什么您认为需要在asm中编写代码。如今,人类很难编写高效的asm代码(因为CPU无序执行的复杂性不断增加)。用C语言编写一个合适的优化编译器可能是一个更好的解决方案。它可能更便于携带,也更易于维护。@ikegami无所谓,我的意思是它似乎没有维护18年,无论如何我都要给它一个机会try@DavidWohlferd有时会出现一些极端情况,您需要检查一些,例如我想在perl上编写一个返回CPUID Manifcator Id的子线程,您知道这种特性是否有perl包装器,或者如何使用一些perl模块实现这一点吗?