Boost 1.57 Boost.Context fcontext_t 资源管理

Boost 1.57 Boost.Context fcontext_t resource management

一些上下文

在 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 上询问并查看了示例,但找不到任何内容。是否需要release/delete/close这个资源?

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

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

也可以查看 Boost.Coroutine 的 implementation 以了解其对 fcontext_t 的用法。