boost.asio强大的开源异步网络库,随着c++11的诞生,代码对boost的依赖已经逐步减少,因为boost的依赖库太过庞大, boost的很多优秀的模块都
已经加入到c++11,如智能指针,auto,bind,智能锁,线程等等..
废话不多说了,asio的官网已经说明可以脱离boost独立编译了, 但只是简单的介绍了linux下的脱离编译,下面进入正题:
//1.在工程属性"c++/预处理器/预处理器定义"中加入下面两个宏定义
_WIN32_WINNT 0x0A00 //声明操作系统为WIN10
ASIO_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>