背景
结合上一篇CLion之C++框架篇-优化框架,单元测试(二),继续进行框架优化!这一版优化引入一个我们日常经常使用的操作库Boost,估算使用频率在70%以上!
Boost的优势在哪里?
1、Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库,有着“C++‘准’标准库”的美誉。
2、它由C++标准委员会部分成员所设立的Boost社区开发并维护;
3、使用了许多现代C++编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C++的功能和表现力,能够使C++软件开发更加简洁、优雅、灵活和高效。
4、代码开源,你可以直接看到底层代码实现,为我们学习c++提供参考标准!
boost能做什么?
时间与日期
内存管理
字符串与文本处理
正确性与测试
容器与数据结构
算法
数学与数字
操作系统相关
函数与回调
并发编程
编程语言支持
下载安装Boost库
下载地址:https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.gz
1 2 3 | cd boost_1_67_0 . /bootstrap .sh . /b2 install |
我的机器安装了10分钟左右(时间有点长,耐心等待)
头文件位于:/usr/local/include/boost
库路径位于:/usr/local/lib
看看都安装了哪些库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | . /bjam --show-libraries The following libraries require building: - atomic - chrono - container - context - contract - coroutine - date_time - exception - fiber - filesystem - graph - graph_parallel - iostreams - locale - log - math - mpi - program_options - python - random - regex - serialization - signals - stacktrace - system - test - thread - timer - type_erasure - wave |
在框架中使用boost
boost版本跟cmake版本是有直接关系的
编辑顶层的CMakeLists.txt,如图:


直接在test下的代码里引用执行:

case——时间与日期
背景:C++一直以来缺少对时间和日期的处理能力,而时间与日期又是现实生活中经常遇到的,C++程序员不得不求助于C,使用笨拙的结构和函数(struct tm,time())。Boost使用timer和date_time库完美地解决了这个问题。
timer库:是一个很小的库,提供简易的度量时间和进度显示功能,用于性能测试等需要计时的任务。主要包括三个组建:计时器类timer、progress_time和进度指示类progress_display。
数据进度

获取今天、昨天、明天
更多样例:http://boost.ez2learn.com/doc/html/date_time/examples.html
## 错误boost::gregorian::greg_month::get_month_map_ptr()"
解决方式:在CMakeLists.txt里添加 set(CMAKE_CXX_FLAGS "-lboost_date_time-mt-d");
git版本管理项目
日常操作中,隐藏掉那些不需要的目录及文件,方便进行git的文件管理



推荐

喜欢编程
分类:
C Language
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库