Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我必须在 Qt C++ 的程序中实现零复制方法,我阅读了它并得到了 transferto() 方法。如下所述: public void transferTo(long position, long count, WritableByteChannel target);
但我不明白它是如何工作的。它在内部写成,它取决于底层操作系统对零拷贝的支持。所以我尝试编写一个函数,但我没有在这里得到“位置”和“通道”的含义。
谁能帮我?
在 C++ 中没有跨平台的方式来做零拷贝,在 Qt 中也没有零拷贝 API。您可以使用提供的 API 为您的目标操作系统实现它:
Linux通过sys/socket.h的sendfile、sendfile64、splice等系统调用支持零拷贝。Windows 通过 TransmitFile API 支持零拷贝。
资源