随笔分类 -  C/C++

【C++】开源日志库spdlog的使用心得
摘要:开源日志库spdlog的使用心得 ​ 所有大型项目中都需要实现日志功能。此功能看似简单实则不然,实现一个高速、稳定、功能完善的日志中心是每一个大型项目的必经之路。spdlog是目前Github上一款基于C/C++的开源日志库。它有以下特点: 速度非常快 只包含头文件 无需依赖第三方库 支持跨平台 - 阅读全文

posted @ 2021-02-22 17:13 fishily1993 阅读(9565) 评论(0) 推荐(0)

【C++】一个实用的日志分析工具
摘要:【C++】一个实用的日志分析工具 程序说明 通过C语言宏定义获取时间、文件、函数与行数;通过可变参数列表实现日志内容的传递;C语言宏定义包括:__FILE__、__FUNCTION__、__LINE__、__DATA__、__TIME__ 为了精确到毫秒级别和跨平台,使用了C++11的Chrono; 阅读全文

posted @ 2020-07-27 14:06 fishily1993 阅读(659) 评论(0) 推荐(0)

【C++】一种线程池的实现方式
摘要:1.需要预先定义任务的函数指针 2.构造函数接受容量参数,申请线程池空间,并将线程全部启动 3.初始状态任务队列tasks_为空,当队列为空,则阻塞线程——thread_loop() 4.当任务队列中有元素后,唤醒其中一个线程,执行这个任务——take() task() 测试代码: 阅读全文

posted @ 2020-03-03 14:36 fishily1993 阅读(263) 评论(0) 推荐(0)

【数据结构】C++语言无锁环形队列的实现
摘要:无锁环形队列 1.Ring_Queue在payload前加入一个头,来表示当前节点的状态 2.当前节点的状态包括可以读、可以写、正在读、正在写 3.当读完成后将节点状态改为可以写,当写完成后将节点状态改为可以读 4.Ring_Queue使用时参照生产者消费者模型,生产者生产(写)一个可用节点,消费者 阅读全文

posted @ 2020-02-28 13:07 fishily1993

【数据结构】C++语言环形队列的实现
摘要:队列——先进先出 队列的一个缺点——出队后的内存空间浪费了,不能二次利用 环形队列——解决以上缺点的队列,用过的内存空间可以重复利用 github: https://github.com/HITFishily/CandCPP 代码: 阅读全文

posted @ 2020-02-27 09:18 fishily1993

C++命名规范——谷歌规范
摘要:1.文件命名规则 文件名全部小写,可以含下划线或连字符,按项目约定命名,且尽量保证文件名明确。比如: cmd_save_player_info_class.cc ,my_use_full_class.cc 定义类的文件名一般是成对出现,如:foo_bar.h foo_bar.cc 若是类中含大量内联 阅读全文

posted @ 2020-02-26 14:40 fishily1993

导航