这是关于比赛的程序。
我正在提交一个程序&就总执行速度而言,我发现我的指标比得分最高的游戏慢得多。所有其他(页面错误、内存……)都是类似的。我发现,当我运行我的程序而不使用printf(或write)时,我的总执行速度(在我自己的pc上测量)似乎是相似的。
竞赛通过将输出重定向(我想是使用管道)到文件&将其MD5与他们的MD5匹配....
我的问题是,在C中是否有任何东西,不写入输出流,但管道仍然得到它的输入。或许我甚至把问题提错了。但不管怎样,我都有麻烦了。
我一直在绞尽脑汁优化算法。顺便说一句,他们接受makefile,很多人都尝试过优化。对我来说,这两个优化标志都不起作用。我不知道还能做些什么。
如果您需要编写一个将其输出写入文件的程序,您只需:
- 用
int fd = fopen("/file/path", O_WRONLY);
打开文件(你可能需要检查参数,自从我做C编程以来已经很长时间了),然后write(fd, ...);
或fprintf(fd, ...);
- 使用fopen打开文件,关闭标准输出,使用
dup2()
将文件描述符复制到文件描述符号1(即标准输出)。
您可以在管道fd上尝试fprintf