小编tse*_*see的帖子

我怎样才能使用Perl的C++类?

我有一组用C++编写的类.从Perl脚本调用它们的最佳方法是什么?谢谢.

c++ perl xs

12
推荐指数
3
解决办法
3889
查看次数

高效的pre-perl-5.10等效包装("Q>")

更新:Salva正确地指出我对"Q"包模板的引入是错误的.这是">"修饰符,不会回到5.8.

Perl 5.10引入了pack()修饰符">",对于我的用例,"Q"包含大端的无符号四(64位)值.

现在,我正在寻找一个有效的等价物

pack("Q>2", @ints)
Run Code Online (Sandbox Code Playgroud)

其中@ints包含两个64位无符号整数."Q> 2"表示"以big-endian字节顺序打包两个无符号四边形".显然,我想要这个,因为我(至少暂时)与5.10之前的Perl绑定.

Update2:实际上,经过进一步思考,下面应该做的事情应该是:

pack("N4", $ints[0] >> 32, $ints[0], $ints[1] >> 32, $ints[1])
Run Code Online (Sandbox Code Playgroud)

似乎可以在我的64位x86-64 Linux上运行.有什么理由可能不完全相同pack("Q>2", @ints)?任何特定于平台的事项?

相反的是什么(即相当于解包("Q> 2",@ ints))?

perl perl5.10

3
推荐指数
1
解决办法
354
查看次数

标签 统计

perl ×2

c++ ×1

perl5.10 ×1

xs ×1