• 2024-05-21libuv进程
    1、创建进程 调用uv_spawn()来启动一个进程:#include<stdio.h>#include<uv.h>uv_loop_t*loop;uv_process_tchild_req;uv_process_options_toptions;//全局变量会自动初始化int类型为0,改为局部变量的话需要将所有没用的域设为0charworker_path[500]={0};void
  • 2024-05-13libuv线程
    1、概述  libuv的线程API与Linux的pthread的API在使用方法和语义上很接近,因为要跨平台,所以libuv支持的线程API个数很有限。libuv中只有一个主线程,主线程上只有一个eventloop。如下为创建线程的一个简单示例:#include<stdio.h>#include<uv.h>voidthread_fun(void*arg)
  • 2024-05-11libuv网络操作
    1、获取本机网络地址 使用uv_interface_addresses()可以获取本机网络地址接口信息,如下所示,其第一个参数是一个指针的指针,因为仅传递指针的话函数内只能改变指针指向的内容,不能改变该指针值,有了指针的地址就可以改变指针的值:#include<stdio.h>#include<uv.h>intmain(){
  • 2024-05-09libuv文件系统
      1、读取和写入文件  如下为异步打开test.dat文件后,读取文件数据并将其写入到标准输出的示例,读取和写入的时候使用uv_buf_t类型来作为缓存:#include"uv.h"#include<assert.h>uv_fs_topen_req,read_req,write_req;voidon_write(uv_fs_t*req){if(req->res
  • 2024-05-09libuv概述
    1、综述  libuv是一个高性能的,事件驱动的I/O库,支持跨平台(由平台决定使用libev或IOCP),诞生自node.js。libev是网络库libevent的改进版,但libev在Windows下的性能不太好(使用select模型),而libuv则封装了Windows上的IOCP,性能更高,所以后来node.js使用libuv替换了libev。除了node.js以外
  • 2023-10-11libuv多线程简单应用示范
     #include<stdio.h>#include<uv.h>//声明回调函数voidasyncCallback(uv_async_t*handle);voidclose_cb();voidthread_func_1(void*arg);voidthread_func_2(void*arg);//定时器回调函数voidtimer_callback(uv_timer_t*handle){//定时器触发后执
  • 2023-10-10libuv库简单使用
    libuv是跨平台、轻量级的异步I/O库,由Node.js团队发起和维护。它提供了事件循环、定时器、异步文件和网络操作等功能,使开发者可以方便地处理各种I/O任务。libuv提供了一套强大而易用的异步I/O编程接口,在网络编程、文件系统操作、定时器等方面具有广泛的应用场景。由于其开源、跨平
  • 2023-10-06libuv windows编译和学习资料
    官方下载github代码使用cmake编译windows仅仅支持cmake然后编译出lib放入vs工程vs加入头文件和lib文件路径 ,lib名加入工程依赖如图 需要加入lib很多libuv.libuv.libWs2_32.libadvapi32.libiphlpapi.libpsapi.libshell32.libuserenv.libuser32.libdbghe
  • 2023-08-08CentOS bind升级
    查看当前bind版本named-v下载新版bind下载地址:https://ftp.isc.org/isc/bind9/9.11.37/bind-9.11.37.tar.gz更多的bind版本可以从https://ftp.isc.org/isc/bind9/下载。wgethttps://ftp.isc.org/isc/bind9/9.11.37/bind-9.11.37.tar.gz解压tar-xvfbind-9.11.37.tar.xzcp
  • 2023-06-14mingw compile libuv
      Compilefailedinmingw64https://github.com/libuv/libuv/commit/be8e237a8e462f8517392eccf0f94a30d16d7ef3 win:defineERROR_ELEVATION_REQUIREDforMinGW#1195https://github.com/libuv/libuv/pull/1195 c:\Users\Administrator\Downloads\libuv-v1
  • 2023-06-01window10子系统下 libuv clone本地编译提示./autogen.sh: aclocal: not found错误
    libuv文档https://docs.libuv.org/en/v1.x/guide/introduction.htmlCodeAlltheexamplecodeandthesourceofthebookisincludedaspartofthelibuvprojectonGitHub.CloneorDownloadlibuv,thenbuildit:shautogen.sh./configuremakeThereisnoneed
  • 2023-04-23Node.js Event Loop & V8 engine & libuv All In One
    Node.jsEventLoop&V8engine&libuvAllInOne事件循环constcb1=()=>console.log(`1`);constcb2=()=>console.log(`2`);constcb3=()=>console.log(`3`);constcb4=()=>console.log(`4`);constcb5=()=>console.log(