gpt4 book ai didi

c++ - C/C++ 将多个字节发送到标准输出的最佳方法

转载 作者:太空狗 更新时间:2023-10-29 23:21:35 26 4
gpt4 key购买 nike

分析我的程序和函数 print 需要花费大量时间来执行。我怎样才能将“原始”字节输出直接发送到标准输出而不是使用 fwrite,并使其更快(需要将 print() 中的所有 9 个字节同时发送到标准输出)?

void print(){
unsigned char temp[9];

temp[0] = matrix[0][0];
temp[1] = matrix[0][1];
temp[2] = matrix[0][2];
temp[3] = matrix[1][0];
temp[4] = matrix[1][1];
temp[5] = matrix[1][2];
temp[6] = matrix[2][0];
temp[7] = matrix[2][1];
temp[8] = matrix[2][2];

fwrite(temp,1,9,stdout);

矩阵被全局定义为一个无符号字符矩阵[3][3];

最佳答案

IO 不是一项成本低廉的操作。实际上,这是一个阻塞操作,这意味着操作系统可以在您调用write 时抢占您的进程,以允许更多受CPU 限制的进程在IO 设备之前运行你正在写信来完成操作。

您可以使用的唯一较低级别的功能(如果您在 *nix 机器上开发)是使用原始 write 功能,但即使那样您的性能也不会快很多比现在。简单地说:IO 很昂贵。

关于c++ - C/C++ 将多个字节发送到标准输出的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/528559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com