我有一个类记录器,它实现了streambuf和iostream,并覆盖了xsputn和overflow .. 这已经有一段时间了...
class Logger : public std::iostream, public std::streambuf {
virtual std::streamsize xsputn(const char* s, std::streamsize n);
virtual int overflow(char c);
}
突然间(我怀疑有一些编译标志..),我每次追加它时都会得到一些起始地址作为字符串,这就是我在GDB中看到的:
Breakpoint 2, Logger::xsputn (this=0x7fffffffb2d0, s=0x7fffffffae30 "0x4d927a\356\330\060\367\377\177", n=8)
Breakpoint 2, Logger::xsputn (this=0x7fffffffb2d0, s=0x4d95cf "sending body: ", n=14)
发送的实际身体的地址看起来非常类似于我在开始时得到的追加......任何人都知道它是什么?或者如何设置忽略它/设置它不会来?我怀疑一些编译标志,如fPIC
由于