boost::asio脱离boost独立编译(windows)
来源:互联网 发布:zbrush for mac中文 编辑:程序博客网 时间:2024/05/29 14:23
boost.asio强大的开源异步网络库,随着c++11的诞生,代码对boost的依赖已经逐步减少,因为boost的依赖库太过庞大, boost的很多优秀的模块都
已经加入到c++11,如智能指针,auto,bind,智能锁,线程等等..
废话不多说了,asio的官网已经说明可以脱离boost独立编译了, 但只是简单的介绍了linux下的脱离编译,下面进入正题:
//1.在工程属性"c++/预处理器/预处理器定义"中加入下面两个宏定义_WIN32_WINNT 0x0A00 //声明操作系统为WIN10ASIO_STANDALONE//独立使用asio//2.设置工程属性"常规/字符集"设置为使用多字节字符集//3.将asio源码拷贝到指定目录,并在工程属性包含这个路径
现在我们简单的写个demo测试一下(demo是网上随便找的例子改写一下测试可用性)
#include "stdafx.h"#include "asio.hpp"#include <iostream>using namespace std;using namespace asio;using asio::ip::tcp;#include<functional>class myasio{public:myasio():m_acc(m_iosvr, tcp::endpoint(tcp::v4(), 1986)){}~myasio(){}public:int start(){std::shared_ptr<tcp::socket> psock(new tcp::socket(m_iosvr));m_acc.async_accept(*psock, [&](asio::error_code err) {if (err){return;}start();std::cout << psock->remote_endpoint().address() << std::endl;time_t now = time(0);std::string msg = ctime(&now);asio::error_code igerr;psock->write_some(asio::buffer(msg), igerr);});m_iosvr.run();return 0;}protected:void accept_handler(std::shared_ptr<tcp::socket> ps, asio::error_code err){if (err){return;}start();std::cout << ps->remote_endpoint().address() << std::endl;time_t now = time(0);std::string msg = ctime(&now);asio::error_code igerr;ps->write_some(asio::buffer(msg), igerr);}private:io_servicem_iosvr;tcp::acceptorm_acc;};int main(){ myasio asio; asio.start(); return 0;}
在vs2010和vs2017下都编译通过(以上测试demo是在vs2017下编译)0 0
- boost::asio脱离boost独立编译(windows)
- boost:asio编译
- boost:asio编译
- boost:asio编译
- VS2008下编译Boost::asio
- Boost Asio
- boost asio
- Boost.asio
- boost asio
- boost asio
- boost.asio
- Boost.Asio
- boost.asio
- boost asio
- BOOST::ASIO
- boost asio
- boost asio
- boost asio
- mysql客户端插入中文数据出现的编码格式问题
- android studio java控制台出现乱码
- 刷清橙OJ--A1007.特殊的数字3
- 学习 同源策略,jsonp,跨域 随记
- PhpStorm 默认快捷键
- boost::asio脱离boost独立编译(windows)
- nginx 运行与操作
- sql语句分为三类(DML,DDL,DCL)-介绍
- 查看JAVA进程中哪个线程CPU消耗最高
- Eclipse vs. IDEA快捷键对比大全
- Linux下Zookeeper安装、使用
- 常用的加密和解密方法
- 走近人脸检测(1)——基本流程
- 关于三元运算符的类型转换问题