首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >什么是C++中的管道和叉子?

什么是C++中的管道和叉子?
EN

Stack Overflow用户
提问于 2013-10-08 21:42:43
回答 1查看 424关注 0票数 0

我最近偶然发现了一个叫做“管道”(都是小写字母)和“叉子”(也都是小写字母)的东西。显然,管道“是一种将一个进程的标准输出连接到另一个进程的标准输入的方法”。我不明白的是,在这里流程的标准输入输出是什么意思。我已经知道函数可以调用其他函数并使用它们返回的值,所以管道有什么特别之处,我们为什么需要管道?我从来没有在我的C/C++书中遇到过这些,这是什么奥秘?在两个应用程序之间进行通信的一种简单方法(我这里不是使用word进程)是,一个应用程序创建一个文件,调用另一个应用程序,让它打开该文件并处理其数据,然后创建一个新的结果文件,然后自行终止。然后原始应用程序可以继续处理和读取结果文件,并删除它首先创建的文件。这是两个应用程序通信的一种简单方式,我认为在.Net框架和复杂操作系统的时代,这一定更容易,对吧?

另外,什么是fork?它是特定于C++的东西吗?我记得在互联网上的某个地方读到,通过使用fork,我们可以从C++应用程序中打开另一个应用程序。然而,我不知道这种方法的局限性和影响,以及它可能具有的任何缺点。为什么我们需要fork?是干什么的呢?

我不希望任何人都要写几页的信息。我只是想了解这些东西是什么,它们是做什么的,为什么我们需要它们,为什么我的C/C++书没有涵盖这两个?

EN

回答 1

Stack Overflow用户

发布于 2013-10-08 21:54:58

这些是unix系统调用。它们不是unix语言或标准库的一部分,而是特定于C++类操作系统。

fork创建一个新进程,pipe创建一个单向通信通道。管道和fork通常组合在一起,用于进程间通信。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19249376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档