2012-01-28 83 views
0

我需要學習如何創建一個pipe和使用fork,以及如何寫入piperead,在VC++ 2010C++如何創建/使用管道和叉?

有沒有對如何做到這一點的任何教程?

+3

糾正我,如果我錯了,但...管道和叉子是Posix系統調用,而VC++是Microsoft Windows IDE和框架.. 。爲什麼你會特別要求這個指示? – immortal 2012-01-28 22:51:46

+0

所以你告訴我,我不能創建管道,並在vC++ 2010 Win32中使用fork? D: – Bawss 2012-01-28 22:53:22

+0

你在這裏問的是如何從蘋果製作橙汁。它不會工作。 – cha0site 2012-01-28 22:54:09

回答

2

此問題已詳細解答here。 從相同的答案逐字引用

管道是進程間通信的機制。通過一個進程寫入管道的數據可以被另一個進程讀取。用於創建管道的基元是管道功能。這將創建管道的讀取和寫入兩端。單個過程使用管道與自己交談並不是很有用。在典型的使用中,一個進程在它派生一個或多個子進程之前創建一個管道。然後使用管道在父進程或子進程之間或兩個兄弟進程之間進行通信。所有操作系統外殼都可以看到這種通信的熟悉示例。當你在shell中輸入一個命令時,它會通過調用fork來生成該命令所表示的可執行文件。一個管道打開到新的子進程,並且它的輸出被shell讀取和打印。此頁面有叉子和管道功能的完整示例...

+0

非常感謝:) – Bawss 2012-01-28 22:55:12