我读了一篇关于使用Clang转储C++对象的内存布局的文章(译者注:原文链接被屏蔽),现在我正尝试使用这个功能进行实验。我创建了两个类:
// simple.cpp
struct Base
{
int value;
};
struct Derived : Base
{
int count;
};
int main(int argc, char* argv[])
{
return 0;
}
并运行以下命令:
$ clang -cc1 -fdump-record-layouts-simple simple.cpp
什么都没有。clang 版本是:
$ clang++ -dumpversion
4.2.1
如果我运行以下命令:
$ clang -cc1 --help
在许多信息中,我可以找到这个:
...
-fdump-record-layouts-simple
Dump record layout information in a simple form used for testing
-fdump-record-layouts Dump record layout information
-fdump-vtable-layouts Dump the layouts of all vtables that will be emitted in a translation unit
...
我做错了什么?