[問題] 有關 IPC

看板Perl作者 (可愛小孩子)時間10年前發表 (2015/01/09 07:18), 10年前編輯推噓1(107)
留言8則, 2人參與, 最新討論串1/1
大家好, 我有一支 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 謝謝大家 ^_^ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.80.36 ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1420787937.A.A68.html ※ 編輯: cutekid (61.221.80.36), 01/09/2015 16:53:01

01/09 23:09, , 1F
ActivePerl,OS 用Windows囉? 請留意第二個連結的說明
01/09 23:09, 1F

01/09 23:09, , 2F
Non-Unix users should check their Your_OS::Process
01/09 23:09, 2F

01/09 23:09, , 3F
module for other possible solutions.
01/09 23:09, 3F

01/09 23:22, , 4F
如果直接開執行檔讀 stdout 請看 http://goo.gl/vAsnLr
01/09 23:22, 4F

01/09 23:22, , 5F
要是我大概會把該 C 程式碼改成 perlxs/module 來跑
01/09 23:22, 5F

01/09 23:23, , 6F
要更方便一點產生 C wrapper 可用 http://www.swig.org
01/09 23:23, 6F

01/09 23:24, , 7F
-| 以及 |- 在原生視窗系統不行,Cygwin 也許可以試試
01/09 23:24, 7F

01/12 13:20, , 8F
哈,謝謝師父 ^_^
01/12 13:20, 8F
文章代碼(AID): #1Khu3Xfe (Perl)
文章代碼(AID): #1Khu3Xfe (Perl)