14得票3回答
为什么stdout会缓存?

我正在尝试学习libuv api,并编写了以下测试: #include <stdio.h> #include <stdlib.h> #include <uv.h> void timer_cb(uv_timer_t* timer) { int* i...

13得票3回答
在V8中从C++回调调用Javascript函数

我试图在C++回调被调用时调用已注册的JS函数,但由于作用域问题,我得到了一个段错误。 Handle<Value> addEventListener( const Arguments& args ) { HandleScope scope; if (!arg...

13得票2回答
使用libuv捕获子进程的标准输出

我正在使用libuv. 我已经阅读了http://nikhilm.github.com/uvbook/processes.html,但仍然无法弄清如何捕获子进程的标准输出,使其在父进程中可用(但不是代替父进程的标准输入)。我的代码目前是:#include <stdio.h> #in...

12得票4回答
process.env.UV_THREADPOOL_SIZE无效?

我正在尝试理解NodeJS中的线程池。 如果使用 process.env.UV_THREADPOOL_SIZE = 5; 创建代码,则会运行。 process.env.UV_THREADPOOL_SIZE = 5; const https = require('https'); ...

11得票3回答
如何在Node.js插件中传递窗口消息?

在一个Windows的Node.js插件中,我创建了一个窗口来接收消息。Handle<Value> MakeMessageWindow(const Arguments &args) { // exposed to JS ... CreateWindow(L"...

10得票3回答
libuv 分配内存缓冲区的重用技巧

我正在使用libuv来开发一个涉及大量网络交互的应用程序,我关注的是在libuv回调延迟执行的情况下,哪些重复使用已分配内存的技术既高效又安全。 在与libuv用户进行基本层交互时,需要指定缓冲区分配回调函数并设置读取处理程序。UV_EXTERN int uv_read_start(uv_s...

10得票1回答
libuv:如何在出现错误时优雅地退出应用程序?

我有一个应用程序,它使用libuv库。它运行默认循环:uv_run(uv_default_loop()); 如果应用程序出现故障,如何优雅地退出?目前我是按以下示例进行操作:uv_tcp_t* tcp = malloc(sizeof(uv_tcp_t)); int r = uv_tcp_ini...

10得票4回答
正确关闭libUV句柄

我正在尝试查找如何修复使用Valgrind运行此程序时出现的内存泄漏问题。这些泄漏发生在nShell_client_main中的两个分配中。但我不确定如何正确释放它们。 我尝试在nShell_Connect处释放它们,但这会导致libUV中止该程序。我尝试在nShell_client_mai...

10得票4回答
libuv如何实现非阻塞性(exactly)?

我刚刚发现相对于其他 C 库(如 FFmpeg),libuv 是一个非常小的库。我已经花了过去 6 个小时阅读源代码,以更深层次地了解事件循环,但仍然没有看到“非阻塞性”是如何实现的。也没有找到在代码库中被调用的事件中断信号或类似的东西。 我使用 Node.js 已经有超过 8 年了,所以我...

9得票2回答
如何在Ubuntu上安装libuv?

请使用sudo apt-get命令安装libuv库。 $ sudo apt-get install libuv [sudo] username ... It fails to find package and install. libuv是否包含在其他软件包中?