做一个省时省力还能帮助排错的C/C++的头文件

欢迎转载,转载请注明出处!原文地址

Follow me on GitHub ^_^

想法

通过宏定义、单例对象等方法减少代码量、打印程序信息、统计对象; new; delete; malloc(); free();次数而便于分析代码错误

该头文件是用于Debug版下编译的Release版就算包含了该头文件,并且使用头文件中的内容也是无效的

纯C内容:

  1. 宏定义输入输出重定向到文件和关闭文件,可以减少至少3行代码量

  2. 宏定义printf()用于打印程序执行结果,省掉不必要的格式输入

  3. 宏定义malloc(); free();次数统计

C++内容:

  1. 创建命名空间防止命名冲突

  2. 宏定义new; delete;次数统计

  3. 创建单例类,用于统计和输出程序信息

  4. 在单例类构造中记录时间并在需要的情况下重定向输入输出,析构中计算程序运行时间并输出、输出构造的对象数量和new; delete; malloc(); free();次数

  5. 宏定义单例对象创建语句,省去输入命名空间的时间,在出main()时自动析构并打印相关信息

额外要求:

  1. 严格区分Debug调试版和Release

  2. 能够从项目中安全、简单地移除而不引发编译错误

效果

文件中涉及到比较多的个人信息,所以就不贴代码了 ^_^