BOOST
文章平均质量分 79
滑雪圈的小码人
这个作者很懒,什么都没留下…
展开
-
二进制、十六进制和浮点数ASCII的转换机制--------IEEE754
当前常见的GPS都以ASCII表示,例如我们在串口助手中可以选择输出类型为ASCII或者是16进制,那么说明它们中见肯定存在某种转换机制,既可以表示出正负号、也可以表示出小数点后的数字,它就是IEEE754原创 2023-02-27 15:57:03 · 890 阅读 · 0 评论 -
C++线程/阻塞/同步异步----2
线程/阻塞/同步异步原创 2023-02-22 10:23:09 · 1472 阅读 · 0 评论 -
C++线程和互斥锁----1
C++线程和互斥锁原创 2023-02-20 13:57:56 · 66 阅读 · 0 评论 -
Boost::Asio 第二章基本原理
第二章 基本原理1. Boost.Asio命名空间Boost.Asio的所有内容都包含在boost::asio命名空间或者其子命名空间内。boost::asio:这是核心类和函数所在的地方。重要的类有io_service和streambuf。类似read, read_at, read_until方法,它们的异步方法,它们的写方法和异步写方法等自由函数也在这里。boost::asio::ip:这是网络通信部分所在的地方。重要的类有address, endpoint, tcp, udp和icmp,重要原创 2022-03-31 16:15:25 · 2306 阅读 · 0 评论 -
Boost::Asio 第一章入门
第一章 入门1. 同步VS异步同步编程中,操作是顺序执行,比如从socket中读取(请求),然后写入(回应)到socket中。每一个操作都是阻塞的。因为操作是阻塞的,所以为了不影响主程序,当在socket上读写时,通常会创建一个或多个线程来处理socket的输入/输出。因此,同步的服务端/客户端通常是多线程的。异步编程中,是时间驱动的,虽然启动了一个操作,但是你不知道它何时会结束;它只是提供一个回调给你,当操作结束时,它会调用这个API,并返回操作结果。只需要一个线程。基础的同步客户端例子:usi原创 2022-03-31 11:10:37 · 3803 阅读 · 0 评论 -
Boost 第十二章 并发编程
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第十二章本章内容包括Boost库中的三个并发编程组件。atomic,它实现了C++11标准定义的原子操作库;thread,它兼容了C++11标准,为C++增加了可移植的线程处理能力;asio,用于同步和异步IO操作的功能强大的库,使用前摄器模式,可以处理口、网络通信,而且有望成为C++标准底层通信库。1. atomic1.1 功能:本节代码都是单线程的,没有并发。1.2 头文件:#include<boos原创 2021-09-13 18:18:17 · 252 阅读 · 0 评论 -
Boost 第十一章 函数与回调
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第十一章本章内容包括工具类ref,它是本章其他库的基础,可以包装对象的引用,在传递参数时消除对象拷贝的代价,或者将不可拷贝的对象变为可以拷贝的。bind是C++标准库中函数适配器的增强,可以适配任意的可调用对象--------包括函数指针、函数引用和函数对象,把他们变成一个新的函数对象,是迈向C++函数式变成的第一步。function库是对C/C++中函数指针类型的增强,能够容纳任意的可调用对象,可以配合bind使用原创 2021-09-07 18:32:05 · 242 阅读 · 0 评论 -
Boost 第十章 操作系统相关
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第十章为了使代码可以在不同平台之间相互移植,介绍system库,它封装了操作系统底层的错误代码,为上层提供了一个可移植的统一的处理接口;随后是chrono和cpu_timer库,它延续到第二章的讨论,基于操作系统的API提供高精度的时间功能;第四个是filesystem库,提供跨平台的文件系统处理能力,能够以一直的方式处理不同操作系统中的文件和目录;最后是program_options库,为程序员提供强大的命令行参数解析原创 2021-09-03 14:39:53 · 256 阅读 · 0 评论 -
Boost 第九章 数学与数字
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第九章1. math1.1 功能:1.2 头文件:1.3 用法:2. integer2.1 功能:2.2 头文件:2.3 用法:3. rational3.1 功能:3.2 头文件:3.3 用法:4. ratio4.1 功能:4.2 头文件:4.3 用法:5. crc5.1 功能:5.2 头文件:5.3 用法:6. random6.1 功能:6.2 头文件:6.3 用法:.原创 2021-09-02 13:22:23 · 91 阅读 · 0 评论 -
Boost 第八章 算法
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第八章1. foreach1.1 功能:遍历循环。for( int i = 0 ; i < 10 ; i++ ){ }for( p = c.begin(); p != c.end(); p++ ){ }for ( auto &x:vec ){ } //vec是一个容器,如vector<int> //c++11才有1.2 头文件:#include <boost/fore原创 2021-09-02 11:56:42 · 131 阅读 · 0 评论 -
Boost 第七章 容器与数据结构
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第七章1. array1.1 功能:数组1.2 头文件:#include <boost/array.hpp>using namespace boost;1.3 用法:using namespace std;#include <boost/array.hpp>using namespace boost;#include <iostream>/////////////原创 2021-09-01 16:05:03 · 225 阅读 · 0 评论 -
Boost 第六章 正确性与测试
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第六章1. assert1.1 功能:用于诊断,使用率很高1.2 头文件:#include <boost/assert.hpp>1.3 用法:两个断言宏,如果表达式值为true,那么断言成立,程序会继续执行/*------基本用法------*///BOOST_ASSERT等同于assert宏,断言表达式为真#define BOOST_ASSERT(expr) assert(e原创 2021-09-01 10:43:38 · 256 阅读 · 0 评论 -
Boost 第五章 字符串与文本处理
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第五章1. lexical_cast1.1 功能:字面值转换,字符串与整数/浮点数之间的字面转换1.2 头文件:#include <boost/lexical_cast.hpp>using namespace boost;1.3 用法:using namespace std;#include <boost/lexical_cast.hpp>using namespace boos原创 2021-08-31 16:32:55 · 176 阅读 · 0 评论 -
Boost 第四章 实用工具
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第四章原创 2021-08-31 15:44:49 · 134 阅读 · 0 评论 -
Boost 第三章 内存管理--------智能指针库
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第三章1. smart_ptr库背景知识:计算机系统中资源有很多,比如内存、文件描述符、socket、操作系统handle、数据库连接,这些资源申请以后需要归还给系统,不然就会出现难以预料的后果智能指针C++采用的是RAII机制(资源获取即初始化),意思就是构造函数申请资源,使用,最后析构函数中释放。这个时候内存占用就分为两种情况:栈区一个局部对象,RAII机制正常工作,结束使用后自动销毁,并释放资源堆区原创 2021-08-30 17:56:22 · 236 阅读 · 0 评论 -
Boost 第二章 时间与日期
本文章所有内容源于《BOOST程序库完全开发指南:深入C++“准”标准库(第3版)》第二章1. timer1.1 elapsed_max头文件:#include <boost/timer.hpp>using namespace boost;功能:度量最大时间1.2 elapsed_min头文件:#include <boost/timer.hpp>using namespace boost;功能:度量最小时间1.3 elapsed头文件:#include &原创 2021-08-30 14:10:41 · 231 阅读 · 1 评论