初衷
游戏引擎作为一个大型的软件系统,如果进行设计的话,某一处出现了BUG,那么其查找起来是非常繁琐的。一旦代码量上w,那么debug工作将会变得非常令人困扰。为了解决这个问题,设计一个简单的LOG系统是非常有必要的。
设计思路
由于LOG系统与整个引擎的各个方面都是紧耦合的。为了避免代码冗余,我们使用宏的方式来设计LOG。我们使用一下几个C++当中常用的宏来设计我们的简易LOG。
__FILE__ //用于得到当前的文件路径
__FUNCTION__ //用于得到当前的函数
__LINE__ //当前文件的行数
对于大型系统,我们需要一个统一的头文件Common.h来避免头文件引用循环的编译错误。然后我们在这个统一的头文件中设计如下宏:
#define FILENAME (QFileInfo(__FILE__).fileName().toStdString().c_str())
#define FUNCNAME __FUNCTION__</