1
是否已弃用uv_prepare_init
? 在uv.h
有一个函数定义,但是无处可以找到C文件中的函数体。但是,在文档上,没有关键字,因为已弃用。未定义引用libuv上的`uv_prepare_init'
有没有解决方案可以取代uv_prepare_init
? 我需要这个句柄在轮询I/O之前执行。
是否已弃用uv_prepare_init
? 在uv.h
有一个函数定义,但是无处可以找到C文件中的函数体。但是,在文档上,没有关键字,因为已弃用。未定义引用libuv上的`uv_prepare_init'
有没有解决方案可以取代uv_prepare_init
? 我需要这个句柄在轮询I/O之前执行。
uv_prepare_init
未被弃用。
有关更多详细信息,请参阅文件loop-watcher.c
。它可用于unix(libuv/src/unix
)和windows(libuv/src/win
)。
那么,有什么魔力?
它是如何没有定义,但功能是图书馆的一部分?
宏。就这样。定义就在那里,尽管有点模糊。
存在一个名为UV_LOOP_WATCHER_DEFINE
宏,其中一部分如下:
#define UV_LOOP_WATCHER_DEFINE(name, type) \
int uv_##name##_init(uv_loop_t* loop, uv_##name##_t* handle) { \
uv__handle_init(loop, (uv_handle_t*)handle, UV_##type); \
handle->name##_cb = NULL; \
return 0; \
} \
// ... continue ...
,立即the macro is used为:
UV_LOOP_WATCHER_DEFINE(prepare, PREPARE)
你可以轻松替换为自己和发现它实际上定义了uv_prepare_init
。
因此我们可以说该函数是库的一部分,它不被弃用(至少在v1.x
),您可以自由使用它。
无需以任何方式将替换为。
嗨,欢迎来到Stack Overflow,请阅读如何创建[最小,完整和可验证的示例](https://stackoverflow.com/help/mcve),并花时间浏览[Welcome Tour ](https://stackoverflow.com/tour)了解你在这里的方式(也可以赚取你的第一张徽章)。 – DarkCygnus