[问题] 有关 IPC

楼主: cutekid (可爱小孩子)   2015-01-09 15:18:53
大家好,
我有一支 Perl 程式 foo.pl
和一支 C 程式 a.out
其中 C 程式是从 stdin 读取资料来源
从 stdout 写出运算结果
我该如何利用 foo.pl 可以与 a.out 沟通呢?
1. 由 foo.pl 写资料: to a.out 的 stdin
2. 从 foo.pl 读资料: from a.out 的 stdout
曾考参过:
http://blog.charlee.li/perl-pipe-process-etc/
http://perldoc.perl.org/perlipc.html#Safe-Pipe-Opens
注: 在 ActivePerl 使用如下 open pipe 方式:
a. open(TO_READ, "-|");
b. open(TO_WRITE, "|-");
会出现错误: '-' 不是内部或外部命令、可执行的程式或批次档。
好像都不能同时达到 1,2
谢谢大家 ^_^
作者: LiloHuang (十年一刻)   2015-01-09 23:09:00
ActivePerl,OS 用Windows囉? 请留意第二个连结的说明Non-Unix users should check their Your_OS::Processmodule for other possible solutions.如果直接开执行档读 stdout 请看 http://goo.gl/vAsnLr要是我大概会把该 C 程式码改成 perlxs/module 来跑要更方便一点产生 C wrapper 可用 http://www.swig.org-| 以及 |- 在原生视窗系统不行,Cygwin 也许可以试试
楼主: cutekid (可爱小孩子)   2015-01-12 13:20:00
哈,谢谢师父 ^_^

Links booklink

Contact Us: admin [ a t ] ucptt.com