我的老师通常说printf中每个格式说明符都有一个管道通道。也就是说,%d有一个管道通道,%f也有一个。他说,与每个格式说明符对应的表达式被评估并插入其管道中,最后从其中取出。他补充说,在gcc中,管道的填充(参数评估)是从右到左完成的,管道的清空(打印值)是从左到右完成的。
这个格式说明符的管道通道概念是什么?我在其他地方没有看到过,除了可能相关的pipe()函数。以下是一个相关的问题:fork() and pipes() in c。
引用那个问题的答案,
管道是进程间通信的一种机制。由一个进程写入管道的数据可以被另一个进程读取。创建管道的原语是pipe()函数。这将创建管道的读取和写入端点。
编译器是否使用管道机制来执行printf语句?这是否与Linux中的管道有关?
这个格式说明符的管道通道概念是什么?我在其他地方没有看到过,除了可能相关的pipe()函数。以下是一个相关的问题:fork() and pipes() in c。
引用那个问题的答案,
管道是进程间通信的一种机制。由一个进程写入管道的数据可以被另一个进程读取。创建管道的原语是pipe()函数。这将创建管道的读取和写入端点。
编译器是否使用管道机制来执行printf语句?这是否与Linux中的管道有关?