我正在尝试进行调试(仅具有Windows)glog代码。我无法发掘的一部分是如何
LOG(INFO) << "something"
将字符串移到缓冲区中?
据我所知,
LogMessageData::message_text_
需要用日志消息填充。但是我找不到消息是如何被推送到其中的。
如果查看LOG(INFO)宏,它将在预处理阶段扩展为cd代码,如std :: cout(在编译代码之前)。您将必须设置一个编译器标志来生成宏扩展文件,才能看到替换代码行。 (这取决于您使用的编译器。只需在Internet上搜索)
所以,
LOG(INFO) << "something"
成为一些类似的代码
std::cout << "something"
请注意,上面的std :: cout用于详细说明内部情况。在代码不同的地方,可能有不同的对象而不是std :: cout
Rest取决于运算符<