log4cplus是C++编写的开源的日志系统很有名也很强大,但网上大多的资料都
常用的C/C++代码格式优化工具有两个,一是老牌的indent,再一个就是astyle了。ast
c++的map的并发操作是不安全的,C++里边有红黑树实现的std::map和hash表
用于QT的一个简易日志功能模块封装。算不上强大和多高的性能,但是足够简单小巧。用于记录日志到文件够用了。单独的一个文件模块,使用时直接引入源码。想要其他功能,直接改代码即可。C++的下的日志库有很多,如log4cpp、Easylogging++,eplog,g3log,Qt下也有log4qt。还有简单小巧的QsLog,它是一个基于Qt的轻量级开源日志库。QsLog的git地址:https://
前言c++11虽然加入了线程库thread,然而 c++ 对于多线程的支持还是比较低级,稍微高级一点的用法都需要自己去实现。比如备受期待的网络库至今标准库里还没有支持,常用acl或asio替代。鸿蒙OpenHarmony源码中的网络栈模块部分,也是十分漂亮的实现,值得学习研究。c++的ThreadPool实现,网上有很多个版本,文章的末尾就有两种不同的实现。然而经过对比发现,还是OpenHarmo
什么是
回调函数就是一个被作为参数传递的函数。在C语言中,回调函数只能使用函数指
实现打印预览和打印,是挺常用的功能。把其他一些内容如QTextBrowser或者QEditText打印和打印
日常工作中,有时候需要对数据进行分析。如果能把待分析的数据导入sqllite数据库,是种不错的
og4qt,是大名鼎鼎的阿帕奇的java日志库log4j的qt移植版。本是挺常用的开源库,然而在使用过程中
在工作中有时会有这种需求,在延时中执行一些任务,等待任务超时或者任务返回结果再往下执行。如果不做封装,可能会怎么做?每次都进入while true?
我们知道c++的queue和map等数据结构是线程并发不安全的,为此我们常封装实现了线程安且还是偶发的。.........
以往都是在嵌入式设备中经常操作串口,或者使用QT的串口类。在Win32中处理串口也是有办法的,操作文件的打开和读写进行串口的操作。
作为软件开发人员,如何才能提升我们的开发效率?如何才能快速地解决开发过程中遇到的何种问题?根据我多年来的开发经历及取得的经验,我们需要掌握一些常用的软件分析工具,借助这些工具,可以快速高效地分析和解决问题。............
首先通过了解它们(指std::move和std::forward)不做什么来认识std::mo
在c++17下使用lambda可能遇到以下错误提示信息:error: a lambda express
性能计数器简介Microsoft Windwos NT/2000 提供了一个强大的API集来访问系统事件和性能数据的众多计数器。我们既可以实时地得到计数器的值,也可以从一个日志文件中读
一直以来只在linux下用过好用的top命令,可以显示出排名最前的应用cpu和内存占用情况。windows下虽然有进程管理器,性能监视器perfmon.msc,意进程,.
导语在软工程中,设计模式(design pattern)是对软件设计中普遍存在(反复
总结下C++内存布局的相关知识,通过进程间通信比线程间通信难也是因为进程间的用户空间是相互隔离的,无法相互访问,需要通过进
gtest需要安装有时候带来很多不方便。网络原因,下载安装gtest或者git上拉gtest都可能因为网络原因失败。现代C++ unit test库除了gtest之外,还有很多轻量级易用的单元测试库,比如doctest和catch,相比gtest需要编译/安装,他们都是header only的
msgpack简介MsgPack 是一种高效的二进制序列化格式。官方对msgpack地道的介绍:——It's like JSON,but fast and small.像JSON一样,跨平台、跨操作系统、支持多种语言,在多种语言之间使用,高效压缩。msgpack会将数据打包成二进制的.
系统托盘图标,有时候用来让系统默默的在后台运行挺有用。网上找到的例子大多太凌乱。这里总结下提供个代码封装。方便后续用到了简单使用。
TscanCode 是腾讯研发的静态代码扫描工具,最早的版本是基于 cppcheck 二次开发。之后又重新自研,不仅支持 C++,还支持 C#,Lua 语言,在发掘 C++ 空指针、越界、未初始化、C#空引用、Lua变量未初始化等比较有效。TScanCode 比较适用于游戏开发代码扫描,有着不错的准确率和效率。
广播分享下2022全球C++及系统软件技术大会盛会,不知道的可以提前关注下。鉴于上海疫情发展,全球C++及系统软件技术大会预计推迟至2022年5月20-21日举办。2022全球C++及系统软件技术大会 | 官方网站本文是全球 C++ 及系统软件技术大会联合主席李建忠老师为C++之父最新出版的《现代C++白皮书》中文版撰写的序言。C++ 作为一门博大精深的语言,
什么是插件机制插件是你想开发一个成功的动态系统所需要的一种方式。基于插件的扩展性是当前扩展,进化一个系统的最具有实践意义的安全方式。插件使得第三方开发人员可以为系统做增值工作,也可以使其他开发人员或分工开发相互协作,或增加新的功能而不破坏现有的核心功能。插件能够促进将关注点分开,保证隐藏实现细节,将测试独立开来,并最具有实践意义。比如强大的Eclipse的平台实际上就是一个所有功能都由插件提供的骨
Gtest介绍Gtest是Google的一个开源框架,它主要用于写单元测试,检查真自己的程序是否符合预期行为。可在多个平台上使用(包括Linux, Mac OS X, Windows, Cygwin和Symbian)。它提供了丰富的断言、致命和非致命失败判断,能进行值参数化测试、类型参数化测试、“死亡测试”。下载安装相关地址:http://googletest.googlecode.com/f
Hiredis 简介Hiredis 是Redis官方发布的C版本客户端 hiredis库。redis的源码中也有使用hiredis。比如redis-cli和Redis中的哨兵机制和主从机制,集群等都使用了hiredis。hiredis 提供了同步、异步访问,异步 API需要与一些事件库协同工作。它的大致工作流程:建立连接->发送命令->等待
缘由windows下的redis有现成的安装包,这也是别人打包好并推荐的方式。也可以自己编译打包一份来用,或者对某部分进行定制化的修改(windows下的redis不是很稳,存在一些问题)。为了更好的使用redis,分析Redis 源码是很有必要。特别是对数据结构和算法的学习,这是很好的例子,比lecode刷题有趣。把源码fork下来,然后加入cmake项目工程编译打包生成程exe可执行程序。中间
Xmake 简介https://xmake.io/#/XMake是一个基于Lua的轻量级跨平台自动构建工具,支持在各种主流平台上构建项目。Xmake = Build backend + Project Generator + Package Manager它跟cmake、automake、premake有点类似,但是机制不同,它默认不会去生成IDE相关的工程文件,采用直接编译,并且更加的方
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号