#include <Windows.h> class Timer { public: Timer(const std::string &name) : name_(name), start_(GetTickCount()) { } ~Timer() { time_t elapsed = GetTickCount() - start_; //lint -e1551 printf("[%s] %lldms", name_.c_str(), elapsed); //此处可以改为某个日志打印函数 } private: std::string name_; time_t start_; }; #define TIME_CHECK(X) Timer temp_object(X) #define TIME_CHECK_FUNCTION() TIME_CHECK(__FUNCTION__) void test_time() { TIME_CHECK_FUNCTION(); //加在要被打印函数的最面前 }
效果如下