我最近偶然发现了一个叫做“管道”(都是小写字母)和“叉子”(也都是小写字母)的东西。显然,管道“是一种将一个进程的标准输出连接到另一个进程的标准输入的方法”。我不明白的是,在这里流程的标准输入输出是什么意思。我已经知道函数可以调用其他函数并使用它们返回的值,所以管道有什么特别之处,我们为什么需要管道?我从来没有在我的C/C++书中遇到过这些,这是什么奥秘?在两个应用程序之间进行通信的一种简单方法(我这里不是使用word进程)是,一个应用程序创建一个文件,调用另一个应用程序,让它打开该文件并处理其数据,然后创建一个新的结果文件,然后自行终止。然后原始应用程序可以继续处理和读取结果文件,并删除它首先创建的文件。这是两个应用程序通信的一种简单方式,我认为在.Net框架和复杂操作系统的时代,这一定更容易,对吧?
另外,什么是fork?它是特定于C++的东西吗?我记得在互联网上的某个地方读到,通过使用fork,我们可以从C++应用程序中打开另一个应用程序。然而,我不知道这种方法的局限性和影响,以及它可能具有的任何缺点。为什么我们需要fork?是干什么的呢?
我不希望任何人都要写几页的信息。我只是想了解这些东西是什么,它们是做什么的,为什么我们需要它们,为什么我的C/C++书没有涵盖这两个?
https://stackoverflow.com/questions/19249376
复制