将数组从perl传输到c

MaM*_*aMu 0 c perl

我可以将数组从perl传输到c而不用任何东西到hdd吗?我可以在perl中生成一个数组,将其保存在文件中并在c中读取.但是只能在内存中执行此操作吗?

小智 5

您可以使用Perl API在Perl代码和C之间进行通信,这可以全部发生在内存中(不会将中间形式写入光盘).

perl.org提供了处理数组的各种调用的详细信息.

请记住,Perl数组的内容是Perl标量值(SV),而不仅仅是C数组中的int或指针,因此您必须使用Perl API将数据解码为您可以在C中处理的内容.程序.


ike*_*ami 5

这根本不是关于Perl或C的问题,而是关于如何将信息从一个程序传递到另一个程序的问题("我更喜欢使用外部二进制文件.")这称为进程间通信(IPC) ).

如果Perl程序启动C程序,您可以使用参数列表传递数据.

如果C程序启动Perl程序,则创建一个管道并将其绑定到子项的STDOUT.Perl程序将数据打印到STDOUT,C程序将从管道读取它.

如果两个程序都没有启动另一个程序,套接字是明显的解决方案,尽管还有许多其他可能性.