我正在用GDB调试C ++程序,结果发现不同的功能是相同的。这是我的意思:
some.hpp
class Base{
virtual bool foo() const;
virtual bool bar() const;
}
some.cpp
bool Base::foo() const {
return false;
}
bool Base::bar() const {
return false;
}
问题是在gdb中,我看到以下内容:
(gdb) p someBaseObject->foo
$1 = {bool (const Base * const)} 0xdeadf00d <Base::foo() const>
(gdb) p someBaseObject->bar
$2 = {bool (const Base * const)} 0xdeadf00d <Base::foo() const>
我想GCC优化了这两个功能以节省代码大小。可以?但这会使调试复杂化...