【发布时间】:2019-01-17 09:56:51
【问题描述】:
我想写一个小汇编代码并从 Perl 中调用它:
我查看 cpan 并找到那 2 个 Perl 模块
- https://metacpan.org/pod/Inline::ASM 很老了
- https://metacpan.org/pod/FFI::Platypus::Lang::ASM 提到可以从 perl 调用程序集,我查看了示例但没有找到任何与程序集代码相关的示例。
任何想法如何将 FFI::Platypus::Lang::ASM 与 Perl 一起使用,将不胜感激
【问题讨论】:
-
至于 Inline::ASM 的时代......为什么这很重要?
-
如果您编译为共享对象并使用
NativeCall接口,从 Perl6 调用程序集也非常简单,请参阅 FOSDEM 2016 上的this talk。 -
还有一个问题是为什么你认为你需要用 asm 编写代码。如今,人类很难编写高效的 asm 代码(由于 CPU 乱序执行的复杂性不断增加)。用一个像样的优化编译器用 C 语言编写它可能是一个更好的解决方案。它可能更便携,也更易于维护。
-
@ikegami 没关系,我的意思是它似乎没有维护18年,无论如何我都会尝试一下
-
@DavidWohlferd 有时会出现极端情况,你想检查一些,例如我想在 perl 上编写一个返回 CPUID Manifcator Id 的子程序,你知道是否有关于这样的功能,或者如何使用一些 perl 模块来实现?