豪华大气的旅行社网站源码wordpress 模板修改

张小明 2026/1/13 19:46:19
豪华大气的旅行社网站源码,wordpress 模板修改,大气简洁网站,优酷网站谁做的Windows11中使用VS2022编译运行libevent事件通知网络库 libevent事件通知库介绍 libevent 是一个异步事件通知软件库。libevent API 提供了一种机制#xff0c;可以在文件描述符上发生特定事件或超时后执行回调函数。此外#xff0c;libevent 还支持因信号或常规超时而触发…Windows11中使用VS2022编译运行libevent事件通知网络库libevent事件通知库介绍libevent 是一个异步事件通知软件库。libevent API 提供了一种机制可以在文件描述符上发生特定事件或超时后执行回调函数。此外libevent 还支持因信号或常规超时而触发的回调。下载libevent事件通知库源代码libevent事件通知库源代码目前托管在Github上其仓库地址为https://github.com/libevent/libevent安装git之后可以通过如下命令获取libevent源代码gitclone https://github.com/libevent/libevent.git或者gitclone gitgithub.com:libevent/libevent.git也可以直接下载libevent源代码的zip压缩包如下图所示libevent源代码的目录结果如下图所示Windows11中使用CMake和VS2022编译运行libevent库首先我们需要在Windows11上安装CMake和VS2022这里不再赘述CMake地址可以去官网https://cmake.org/下载VS2022可以去微软官网获取并下载安装。1.参考官方文档编译libevent库参考https://github.com/libevent/libevent官网的【CMake (Windows)】,如下图所示详情可以参考Building on Windows官方给的使用CMake编译libevent的命令如下md buildcdbuild cmake -GVisual Studio 10..# Or use any generator you want to use. Run cmake --help for a listcmake --build.--config Release# Or start libevent.sln and build with menu in Visual Studio.需要注意的是VS2022对应的cmake -G后面的是“Visual Studio 17”这个可以WinR打开Windows cmd命令行窗口输入cmake --help查询到如下图所示Visual Studio 版本我相信大多数人首先看到的是 Visual Studio 的发布年份因为 Microsoft 官方就是这么宣传的。例如你可以在官网下载页面看到 Visual Studio 2022、Visual Studio 2019 等等。但其实 Visual Studio 的版本也有一个更加普遍的 major.minor 版本控制方案主版本号会在每个发布年份递增。例如 VS 2010 是版本 10VS 2017 是版本 15VS 2019 是版本 16VS 2022 是版本 17。所以如果客户跟你说“我用的是 15 版本”那就意味着它是 Visual Studio 2017。请注意Visual Studio 版本的年份和主要版本之间没有任何关联只是 Visual Studio 2010 恰好也是版本 10。当然除了主版本号Visual Studio 还有次版本号。下表列出了目前主要版本的对应关系。发布年份实际版本号Visual Studio 201715.015.3Visual Studio 201916.016.1Visual Studio 202217.017.1所以我们最终在Windows11上使用CMake命令和VS2022安装libevent库的命令为我们在解压后的libevent-master源代码打开Windows cmd命令行依次执行如下命令md buildcdbuild cmake -GVisual Studio 17..# Or use any generator you want to use. Run cmake --help for a listcmake --build.--config Release# Or start libevent.sln and build with menu in Visual Studio.上述示例中“…”指的是包含 Libevent 源代码的目录。您可以通过创建其他构建目录从同一源代码树构建多个版本具有不同的编译时设置。因此强烈建议在使用 CMake 时采用“外部构建”out of source方式这样做的好处是不会将源代码目录弄乱可以针对win32/x64debug/release组合构建出不同平台不同位数的libevent lib动态或静态库而不是像 autoconf 的默认行为那样采用“内部构建”in source方式。如果你使用的是VS2015、VS2017、VS2026的话把17改成对应的数字即可。执行完上述命令后会在例如E:\projects\VS2022Porjects\CPlusExamples\MyGithubProjects\libevent-master\build目录下生成libevent.sln这个VS工程文件以及include、lib库和bin二进制可执行文件等如下图所示2.使用VS2022打开编译后的libevent项目使用VS2022打开E:\projects\VS2022Porjects\CPlusExamples\MyGithubProjects\libevent-master\build目录下的libevent.sln解决方案文件如下图所示这是一个使用cmake构建的libevent项目包含需要libevent的示例代码这里我们先将hello-world设置为启动项目然后运行查看hell-world项目的源代码/* This example program provides a trivial server program that listens for TCP connections on port 9995. When they arrive, it writes a short message to each client connection, and closes each connection once it is flushed. Where possible, it exits cleanly in response to a SIGINT (ctrl-c). */#includestring.h#includeerrno.h#includestdio.h#includesignal.h#ifndef_WIN32#includenetinet/in.h#ifdef_XOPEN_SOURCE_EXTENDED#includearpa/inet.h#endif#includesys/socket.h#endif#includeevent2/bufferevent.h#includeevent2/buffer.h#includeevent2/listener.h#includeevent2/util.h#includeevent2/event.hstaticconstcharMESSAGE[]Hello, World!\n;staticconstunsignedshortPORT9995;staticvoidlistener_cb(structevconnlistener*,evutil_socket_t,structsockaddr*,intsocklen,void*);staticvoidconn_writecb(structbufferevent*,void*);staticvoidconn_eventcb(structbufferevent*,short,void*);staticvoidsignal_cb(evutil_socket_t,short,void*);intmain(intargc,char**argv){structevent_base*base;structevconnlistener*listener;structevent*signal_event;structsockaddr_insin{0};#ifdef_WIN32WSADATA wsa_data;WSAStartup(0x0201,wsa_data);#endifbaseevent_base_new();if(!base){fprintf(stderr,Could not initialize libevent!\n);return1;}sin.sin_familyAF_INET;sin.sin_porthtons(PORT);listenerevconnlistener_new_bind(base,listener_cb,(void*)base,LEV_OPT_REUSEABLE|LEV_OPT_CLOSE_ON_FREE,-1,(structsockaddr*)sin,sizeof(sin));if(!listener){fprintf(stderr,Could not create a listener!\n);return1;}signal_eventevsignal_new(base,SIGINT,signal_cb,(void*)base);if(!signal_event||event_add(signal_event,NULL)0){fprintf(stderr,Could not create/add a signal event!\n);return1;}event_base_dispatch(base);evconnlistener_free(listener);event_free(signal_event);event_base_free(base);printf(done\n);return0;}staticvoidlistener_cb(structevconnlistener*listener,evutil_socket_t fd,structsockaddr*sa,intsocklen,void*user_data){structevent_base*baseuser_data;structbufferevent*bev;bevbufferevent_socket_new(base,fd,BEV_OPT_CLOSE_ON_FREE);if(!bev){fprintf(stderr,Error constructing bufferevent!);event_base_loopbreak(base);return;}bufferevent_setcb(bev,NULL,conn_writecb,conn_eventcb,NULL);bufferevent_enable(bev,EV_WRITE);bufferevent_disable(bev,EV_READ);bufferevent_write(bev,MESSAGE,strlen(MESSAGE));}staticvoidconn_writecb(structbufferevent*bev,void*user_data){structevbuffer*outputbufferevent_get_output(bev);if(evbuffer_get_length(output)0){printf(flushed answer\n);bufferevent_free(bev);}}staticvoidconn_eventcb(structbufferevent*bev,shortevents,void*user_data){if(eventsBEV_EVENT_EOF){printf(Connection closed.\n);}elseif(eventsBEV_EVENT_ERROR){printf(Got an error on the connection: %s\n,strerror(errno));/*XXX win32*/}/* None of the other events can happen here, since we havent enabled * timeouts */bufferevent_free(bev);}staticvoidsignal_cb(evutil_socket_t sig,shortevents,void*user_data){structevent_base*baseuser_data;structtimevaldelay{2,0};printf(Caught an interrupt signal; exiting cleanly in two seconds.\n);event_base_loopexit(base,delay);}上面代码的作用就是启动一个TCP服务端本机端口号为9995有客户端连接时发送Hello, World!\n字符串给该客户端同时可以响应中断信号如CtrlC会打印Caught an interrupt signal; exiting cleanly in two seconds.\n字符串最后会打印done。先启动完TCP服务端hello-world程序后使用网络调试助手开启TCP客户端服务端连接IP地址设置为127.0.0.1端口号设置为9995运行结果如下图所示参考资料https://github.com/libevent/libeventBuilding libevent on Windowshttps://www.linuxfromscratch.org/blfs/view/svn/basicnet/libevent.htmlhttps://github.com/microsoft/vcpkgC Library Manager for Windows, Linux, and MacOSvcpkg 文档vcpkg 概述https://vcpkg.io/en/vcpkg 是一个免费的 C/C 包管理器用于获取和管理库。您可以从 2732 个开源库中进行选择一步完成下载和构建或者添加您自己的私有库来简化构建过程。它由 Microsoft C 团队和开源贡献者共同维护。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

商城网站开发业务ftp怎么找网站后台

题目 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: tem…

张小明 2026/1/10 3:15:31 网站建设

网站开发一般学多久网上商城毕业设计论文

RevokeMsgPatcher资源管理机制深度技术解析:如何高效管理防撤回补丁资源 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: h…

张小明 2026/1/10 2:34:52 网站建设

模块建站平台网上商城推广方法

工作流策略活动开发全解析 在工作流开发中,策略活动的开发是一项关键任务,它涉及到数据结构的定义、规则集的创建以及活动的配置等多个方面。下面将详细介绍工作流策略活动开发的具体步骤和相关技术。 1. 创建项目与定义数据结构 首先,我们需要创建一个项目。在项目创建过…

张小明 2026/1/6 11:53:58 网站建设

网站首页线框图怎么做quercus wordpress

第一章:Rust赋能PHP的内存管理概述在现代Web开发中,PHP因其易用性和广泛的生态被广泛采用,但其底层基于Zend引擎的内存管理机制存在运行效率低、内存泄漏风险高等问题。通过引入Rust语言的强大能力,开发者可以构建安全、高效的扩展…

张小明 2026/1/6 11:53:56 网站建设

织梦商城网站海南网站搭建外包

前后端HTTPS及证书配置完整流程 mTLS双向认证请求测试 本文档详细记录前后端项目配置HTTPS协议、生成并部署证书、实现mTLS双向认证的全过程,适用于Vue3+Vite前端与NestJS后端架构(其他架构可参考核心逻辑)。配置完成后可实现前端与后端的安全HTTPS通信,并通过mTLS双向认证…

张小明 2026/1/13 7:15:14 网站建设

wordpress关闭移动站点网站管理公司 优帮云

第一章:Open-AutoGLM智能体电脑技术全景解析Open-AutoGLM 是新一代基于大语言模型的智能体操作系统框架,旨在赋予计算机自主感知、决策与执行能力。该系统融合了自然语言理解、任务规划、工具调用与环境反馈闭环机制,构建出具备类人操作逻辑的…

张小明 2026/1/6 11:53:53 网站建设