boost库做什么用呢?

1、C++标准库不是已经很全面了吗?Boost又不是界面库,它主要解决些什么问题呢?哪类问题?2、Boost的开发人员都是C++标准委员会的吧,为什么没把它列做标准库,有什么不完善的问题吗?3、Boost应用前景如何,现在开发用的多吗?Boost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发、维护。    分类    ▪ 字符串和文本处理库     ▪ 容器库  ...
阅读(439) 评论(0)

在XP系统上出现无法定位程序输入点 K32GetProcessMemoryInfo

在XP系统上出现无法定位程序输入点 K32GetProcessMemoryInfoVC2012升级补丁5.0之后,编译出来的程序发现在XP系统无法定位程序输入点 K32GetProcessMemoryInfo于动态链接库kernel32.dll之上。之前程序一直在XP上安装正常,今天测试组的同事突然发现,新发布的版本不能在XP上使用,这个问题比较奇怪,因为以往的版本都是没有问题的。为什么会突然出现...
阅读(4369) 评论(0)

Installshield limited edition for VS2012安装,不能注册问题

Installshield limited edition for VS2012安装,不能注册问题上周有个同事电脑坏了,需要重新安装一台电脑,因为一些旧的工程需要使用Installshield来打包,就安排这个同事去网上下载一个版本,并安装,结果还需要注册码。那就在Installshield网站上注册一个,结果发现连接在网站里打开了,但注册信息下拉框是空白的,怎么样也注册不成功。因为同事也没有去度...
阅读(7341) 评论(1)

boost 1.57在VC2012里编译出错以及解决

最新发布的boost版本是在2014年11月3日发布,由于项目里使用,就立即更新为最新版本的库,这样也可以让可能出现的BUG减到最少。不过在更新这库之后,发现原来可以编译通过的项目,而现在不能通过了,提示错误如下:transform_width.hpp(156): error C2589: '(' : illegal token on right side of '::'通过仔细地查看transf...
阅读(2898) 评论(0)

在安装VC2012上再安装VC2010时连接出错解决

提示如下出错:LINK : fatal error LNK1123: failure during conversion to COFF: file invalid解决 方法:Go to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exeand check the version of cvtres.exe:W...
阅读(3708) 评论(2)

boost库在工作(40)串行通讯

现代的计算机技术进步很快,各种的通讯也日新月异,像USB、网络、蓝牙、WIFI等通讯技术飞速地出现,改变了整个计算机的通讯能力,速度已经达到GBit级别。但是有一种最原始的通讯方式,还是保留了30年,它就是串行接口通讯。前一些年,有很多计算机已经准备把这个接口去掉,全部换USB了,近年来又看到串口恢复过来,重新成为基本计算机配置。那为什么呢?其实串口具体一个大特点,就是简单,它简单到不需要什么驱动...
阅读(3211) 评论(0)

boost库在工作(39)网络UDP异步服务端之九

前面创建的UDP服务器和客户端,都是同步的方式,也就是说当接收数据时,不能参与别的事情执行的。如果在一个只有界面线程的程序里,又不想创建多线程,导致复杂程度的增加,在这种情况之下,我们还有一个方案可以选择,就是创建一个异步的UDP服务器或客户端,这样既有单线程的简单性,也可以让客户随便操作界面的快速响应的特性。在boost库里使用io_service对象来实现异步是轻而易举的事情,因为封装的接口简...
阅读(6034) 评论(0)

boost库在工作(38)网络UDP客户端之八

前面创建了一个UDP服务器,主要是提供时间查询,因为它是一个服务器,所以没有能力连接服务器的,因此需要创建一个客户端来,后面主要就是做这件事情。在说明怎么样编写UDP客户端之前,在这里回复一个网友的问题,他说TCP基本上已经可以无错地做任何事情,包括我前面说的视频通讯,因而使用UDP是不必要学习的。在这点上,UDP还是有不可替换的领域,比如要开发局部网的广播,在TCP里是一对一的连接,它是干不了这...
阅读(3924) 评论(0)

boost库在工作(37)网络UDP服务端之七

前面介绍的都是网络TCP的服务器和客户端,其实还有UDP的服务器和客户端,同时也有同步和异步之分。UDP与TCP最大的区别,就是TCP是基于连接的,而UDP是无连接的。这里所谓的连接是指对方中断服务时,另外一方是可以感知的,而UDP是无法感知对方是否中断服务。还有另外一点,TCP发送的数据包是有流量控制和顺序控制的,而UDP是无流量控制和顺序控制的。因而采用UDP时,基本上都是发送一些无关顺序,或...
阅读(4240) 评论(0)

boost库在工作(36)网络服务端之六

在上面介绍了管理所有连接的类,这个类主要就是添加新的连接,或者删除不需要的连接。但是管理的类CAllConnect是没有办法知道什么时候添加,什么时候删除的,它需要从接收到连接类里获取得到新的连接,从连接类里获得删除的事件。如下面的代码://封装一个服务端类来处理网络。 //软件开发人员: 蔡军生 2013-07-28 // class CConnect : public boost::en...
阅读(3162) 评论(0)

boost库在工作(35)网络服务端之五

在前面的例子里,只是处理每个连接发来的消息,然后再把消息转回自己的那里,跟别的连接没有什么关联,这种情况只会适应一种像HTTP的那样,只关心自己的东西。但在网络服务器里,最多的是跟别人有关联的服务。比如说聊天室,就是不断地把所有进入这个聊天室的人的消息向所有人广播出去,也就是每个进来的连接,把连接所有收到的内容,再向所有连接发送出去。又如在网络游戏的服务器里,当每个地图里走动的人,都要向所有可视范...
阅读(2435) 评论(0)

boost库在工作(34)网络服务端之四

现在来仔细地分析类CConnect,它主要作用就是管理一个连接的事务,比如数据接收和发送。因此类CConnect一定要有一个网络socket成员,它就是使用boost::asio::ip::tcp::socket类,这个类主要实现异步或同步的方式接收数据网络数据。在这个例子里,调用boost::asio::ip::tcp::socket类的async_read_some函数来进行异步读取数据,所谓...
阅读(3346) 评论(0)

boost库在工作(33)网络服务端之三

在这个例子里,表示服务器与一个客户端的沟通渠道,就是一个连接,封装为类CConnect。它是当服务器接收到一个客户端连接请求之后创建的,主要用来就是管理这个连接的生命周期,以及数据的接收和发送。从生命周期上来说,当一个连接创建时就旦生了,那什么时候死亡呢?在这个类的设计上是非常优秀,非常巧妙的,因为它不会为多生存一点时间而存在,也不会提前死掉而导致非法的内存访问。有这样的特性,主要是得益于它继承类...
阅读(2854) 评论(0)

boost库在工作(32)网络服务端之二

在这个例子里,服务器对象主要使用boost::asio::io_service对象,这个对象主要用来构造异步接收数据使用,接着定义boost::asio::ip::tcp::acceptor对象,这个对象主要用来接收所有连接进来到服务器的连接,也就是起到监听的作用。在服务器类的构造函数里主要调用接受对象的async_accept方法发起监听连接的作用,就是等着客户端连接过来,如果不发起连接,是收不...
阅读(2941) 评论(0)

boost库在工作(31)网络服务端之一

上面已经介绍了客户端,接着下来就要开发服务端的程序了,因为只有客户端没有服务端是成不了事的,提供不了网络服务的。像C++这种语言,越来越多的应用都是在网络服务器领域,比如像HTTP服务器、EMAIL服务器、即时通讯服务器和游戏服务器等等。由于服务器的硬件资源都是比较昂贵,要提高处理大量服务的数据量,使用C++是比较合适的,可以说最佳性价比了,使用像JAVA这样的语言性能比C++低,使用汇编又开发成...
阅读(4072) 评论(0)
46条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:5574788次
    • 积分:72912
    • 等级:
    • 排名:第25名
    • 原创:1584篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2082条
    文章存档
    最新评论