为什么使用boost编程

长久以来,一直使用Qt C++ 来编程,设计客户端界面,好顺手.最近开始开发服务器后台,还是想用Qt来做,但发现,开发程序有些不伦不类的感觉,混入其它几种开源的框架库后,像一个杂货场子一样,各种不适应.Qt 是可以开发后台程序的.个人感觉不是很强.

Qt还是比较适合开发客户端,特别是其拥有,无比强大的界面设计能力.

使用了poco c++框架库后,看到了通俗易懂的代码,惊叹标准C++的简洁,直接.当然,poco是基于ANSI/ISO C++,并基于STL来做的,使用的boost协议发布.

另外,有很多优秀的库,是基于标准C++的,特别是准C ++标准库:boost,感觉好强大.

标准C ++ 适合开发服务后台程序的,特别是boost.在网上购买了<<boost程序库完全开发指南>>第三版的书,国人写的,可读性非常高,开启了标准C++ 的学习之旅.

时间: 2024-10-19 19:33:37

为什么使用boost编程的相关文章

Boost编程之获取可执行文件的当前路径

1 #include <boost/filesystem/path.hpp> 2 #include <boost/filesystem/operations.hpp> 3 4 std::string exePath = boost::filesystem::initial_path<boost::filesystem::path>().string(); 这样就可以了.避免用win32 API这种又不友好也不跨平台的方式了.直接用boost舒服.

Mac下boost的安装与使用 Install and use boost library on Mac

Boost库的介绍:http://www.boost.org/ 要想在mac上使用boost库写应用程序,首先需要安装boost. 安装步骤:参考官网教程http://www.boost.org/doc/libs/1_57_0/more/getting_started/unix-variants.html 1.下载 Download boost_1_57_0.tar.bz2. 2.解压 控制台操作命名:tar --bzip2 -xf /path/to/boost_1_57_0.tar.bz2 也

Boost.Asio c++ 网络编程翻译(4)

同步VS异步 首先,异步编程和同步编程是有极大的不同的.在同步编程中,你所有的操作都是顺序执行的,比如从一个socket中读取(请求),然后写入(回应)到socket中.每一个操作操作都是阻塞的.因为操作是阻塞的,所以为了不影响主程序,当读写一个socket时,通常创建一个或多个线程来处理socket的输入/输出.因此,同步的服务端/客户端通常是多线程的. 相反的,异步编程是事件驱动的.你启动了一个操作,但是你不知道它何时会结束:你只是提供一个回调,当操作结束时,它会调用这个API,并返回操作结

C++ 系列:Boost Thread 编程指南

转载自:http://www.cppblog.com/shaker/archive/2011/11/30/33583.html 作者: dozbC++ Boost Thread 编程指南0 前言1 创建线程2 互斥体3 条件变量4 线程局部存储5 仅运行一次的例程6 Boost线程库的未来7 参考资料:0 前言 标准C++线程即将到来.CUJ预言它将衍生自Boost线程库,现在就由Bill带领我们探索一下Boost线程库.就在几年前,用多线程执行程序还是一件非比寻常的事.然而今天互联网应用服务程

Boost.Asio基础(五) 异步编程初探

异步编程 本节深入讨论异步编程将遇到的若干问题.建议多次阅读,以便吃透这一节的内容,这一节是对整个boost.asio来说是非常重要的. 为什么需要异步 如前所述,通常同步编程要比异步编程更简单.同步编程下,我们很容易线性地对问题进行考量,函数A调用完,继续执行B,B执行完,继续执行C,以此类推,相对比较直观.而对于异步编程,假设有5个事件,我们很难知道它们具体的执行顺序,你甚至不知道,它到底会不会被执行. 虽然编写异步的程序,很难,但是依然需要使用这种方法.因为服务器程序需要同时并行的处理大量

Boost.Asio c++ 网络编程翻译(14)

保持活动 假如,你需要做下面的操作: io_service service; ip::tcp::socket sock(service); char buff[512]; ... read(sock, buffer(buff)); 在这个例子中,sock和buff的存在时间都必须比read()调用的时间要长.也就是说,在调用read()返回之前,它们都必须有效.这就是你期望的:你传给一个方法的所有参数在参数内部都必须有效.当我们采用异步方式时,事情会变得越复杂. io_service servi

Boost.Asio c++ 网络编程翻译(28)

协程 Boost.Asio的作者在2009-2010年间实现了非常酷的一个部分,协程,它能让你更简单地设计你的异步应用. 它们可以让你同时享受同步和异步两个世界中最好的部分,这就是:异步编程但是很简单就能遵循流程控制,就好像应用是按流程实现的. 正常的流程已经在情形1种展示了,如果使用协程,你会尽可能的接近情形2. 简单来说,就是协程允许在一个方法中的指定位置存在入口来暂停和恢复运行. 如果你要使用协程,你需要只能在boost/libs/asio/example/http/server4目录下找

Boost.Asio c++ 网络编程翻译(3)

Boost.Asio入门 什么是Boost.Asio 简单来说,Boost.Asio是一个跨平台的.主要用于网络和其他一些底层输入/输出编程的C++库. 计算机网络的设计方式有很多种,但是Boost.Asio的的方式远远优于它们.它在2005年就被包含进Boost,然后被广大Bosot的用户测试并在很多项目中使用,比如Remobo(http://www.remobo.com),可以让你创建你自己的即时私有网络(IPN),libtorrent(http://www.rasterbar.com/pr

Boost.Asio c++ 网络编程翻译(11)

*_at方法 这些方法在一个流上面做随机存取操作.你来指定read和write操作从什么地方開始(offset): async_read_at(stream, offset, buffer [, completion], handler):这种方法在一个指定的流上从offset处開始运行一个异步的read操作,当操作结束时,他会调用handler. handler的格式为:void handler(const boost::system::error_code&  err, size_t byt