C++进阶工具使用详解:从入门到精通
发表时间: 2024-06-14 11:24
对于C++,无论是大学生还是算法工程师都是非常需要学习并使用的一门语言,而C++不像python、rust一样简单好用。不单单是在嵌套复杂代码后的逻辑还是各种类和堆栈的管理,都是非常头疼的问题。一般来说对于LOG类很多都是使用GLOG、而堆栈跟踪一般是基于GDB。而这里我们将开拓大家眼界,从另一个角度来说一些小而美的东西。这里整合一些网上非常好的博客,并结合自己的一些理解给大家整理一个非常通用的工具,也欢迎各位关注引用文章的博主。
在现代软件开发中,日志记录系统是不可或缺的一部分。它不仅可以帮助开发人员在应用程序中定位和解决问题,还可以用于监控、性能分析、安全审计等方面。本文将介绍日志记录系统的基本概念、重要性以及如何构建一个高效的日志记录系统。
Rlog作为一款高性能的纯C语言日志组件,为开发人员提供了一种轻松、灵活且可定制的日志记录解决方案。对于Rlog而言
├── example│ ├── rlog_linux_adapter.c /* linux环境下的适配接口 */│ └── rlog_rtt_adapter.c /* rt-thread环境下的适配接口 */├── include/│ ├── rlog_adapter.h /* rlog适配描述 */│ └── rlog.h /* rlog对外接口 */├── main.c /* rlog的测试样例 */├── Makefile /* linux环境rlog构建Makefile */├── plug-in /* 输出端点插件的存放路径 */├── SConscript /* rt-thread环境rlog构建脚本 */└── src ├── rlog.c /* rlog核心代码 */ ├── rlog_def.h /* rlog核心代码使用的定义 */ └── rlog_utils.c /* rlog使用的C库接口 */
/* Enable log output */#define RLOG_OUTPUT_ENABLE 1/* Set log output level, rang: from RLOG_LEVEL_ASSERT to RLOG_LEVEL_VERBOSE */#define RLOG_OUTPUT_LEVEL RLOG_LEVEL_VERBOSE/* Enable log color */#define RLOG_COLOUR_ENABLE 1/* Enable log color */#define RLOG_TIME_ENABLE 1/* Support log include directory */#define RLOG_DIRECTORY_ENABLE 1/* Support log include funtiong name */#define RLOG_FUNCTION_ENABLE 1/* Support log include line number*/#define RLOG_LINE_ENABLE 1/* Buffer size for every line's log */#define RLOG_LINE_BUFF_LEN 128/* Output line number max length */#define RLOG_LINE_NUM_SIZE 5/* Output newline sign */#define RLOG_NEWLINE_SIGN "\r\n"/* Enable assert check */#define RLOG_ASSERT_ENABLE 1/* Log function. default FDB_PRINT macro is printf() */#define RLOG_PRINT(...) printf(__VA_ARGS__)
点击C++使用工具进阶(LOG输出、堆栈跟踪、代码结构、code review) - 古月居可查看全文