gpt4 book ai didi

c++ - 如何设计 C++ API

转载 作者:行者123 更新时间:2023-11-30 03:09:45 24 4
gpt4 key购买 nike

我对高级 C++ 程序技术(例如模板、但我正在为我正在从事的项目开发一个简单的 API。

您调用的函数或方法可能需要很长时间才能完成。本质上,它是通过网络传输文件。

看起来有点像这样。

Client
{
int WriteFile();
int ReadFile();
}

但我想在这里有几个选项。

  1. 调用 WriteFile 并让它阻塞。
  2. 调用 WriteFileAsync 并且不阻止它。
  3. 在异步版本中,我知道任务完成的方式要灵活。
  4. 能够轮询客户端以了解我当前的读取或写入情况操作。

对于如何以 C++ 方式很好地设计它,我有点不知所措。这是避免使用 boost 的要求,但我可以使用类似 boost 的方法。虽然,我浏览了一些标题并感到非常困惑。任何超越对我来说,基本的模板编程让我感到困惑。

我所追求的是一种收到事件完成通知并能够等待的好方法要完成的事件。

最佳答案

我的建议是查看 boost::asio 的文档和教程(您可以将其用作 boost 的一部分或作为独立 asio 项目的一部分,但我想要求是没有外部库,不仅仅是没有提升)。

通常阻塞调用很容易定义,而非阻塞操作需要一些回调机制,以便在操作完成时通知用户操作结果。同样,请查看教程和文档以了解一个干净的界面,这比浏览标题更容易浏览。

编辑:ASIO 支持不同的协议(protocol),因此它可能比您需要的更复杂,请阅读其中一个示例并了解如何使用回调机制。

关于c++ - 如何设计 C++ API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3870740/

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