c++ - Boost 1.57 Boost.Context fcontext_t 资源管理

标签 c++ boost boost-context

一些上下文

在 Boost 1.57 中,f_context & make_fcontext 看起来像这样

// fcontext.hpp:
typedef void* fcontext_t;
fcontext_t BOOST_CONTEXT_CALLDECL make_fcontext( void * sp, std::size_t size, void (* fn)( intptr_t) );

我应该如何管理make_fcontext()返回的资源?

我已经阅读了文档,在 IRC 上询问并查看了示例,但找不到任何内容。是否需要释放/删除/关闭此资源?

最佳答案

对于用户来说,fcontext_t是一个句柄,用来标识上下文,通过jump_fcontext()指定跳转到哪个上下文。从 make_fcontext(stack, context_function) 返回的不透明指针指向的对象将由提供的堆栈管理。 documentation状态:

Creates an fcontext_t on top of the stack [...]

还可以查看 Boost.Coroutine 的 implementation查看它对 fcontext_t 的用法。

关于c++ - Boost 1.57 Boost.Context fcontext_t 资源管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29269409/

相关文章:

c++ - 加速矩阵乘法

c++ - 如何从另一个类访问一个类的方法/变量而不实例化它或 C++ 中的子类?

c++ - 为什么 boost circular_buffer 不存储我的 bool 值?

c++ - 匹配派生类型而不是基类的模板方法

c++ - 来自 boost::asio::async_write 的 WriteHandler 在连接断开时无法正常工作(防火墙/手动断开网络连接)

c++ - boost::arm64 的上下文?

c++ - 使 thread_local 变量完全易变

c++ - Boost::Context 在 iOS 上工作吗?

c++ - 复制构造函数优于移动构造函数?

c++ - 为什么 == 运算符重载枚举在 MSVC 中不明确