草庐IT

c++ - 搜索 C++ 代码解析器以查看所有签名

我正在寻找一个能够提取所有函数和方法及其签名的C++解析器。有这样的吗?我查看了gccxml,我遇到了问题,它无法使用命名空间,而且当只有一个头文件存在时它也不好。 最佳答案 最明显的选择:标签范围只是GCC手册页的示例:-fdump-noaddr-fdump-unnumbered-fdump-translation-unit[-n]-fdump-class-hierarchy[-n]-fdump-ipa-all-fdump-ipa-cgraph-fdump-ipa-inline-fdump-statistics-fdump-tre

c++ - 我如何理解fdump-class-hierarchy输出

我正在使用fdump-class-hierarchy编译器选项,但我不知道如何理解输出。“大小”,“对齐”,“基本大小”和“基本对齐”是什么意思,它们是如何计数的?谢谢!当代码是:classA{public:private:doublem_nothing;intm_number;};输出为:ClassAsize=16align=8basesize=16basealign=8A(0x406c690)0但是,如果我稍微改变一下类(class):classA{public:private:intm_number;doublem_nothing;};输出将是:ClassAsize=16alig

c++ - g++ -fdump-class-hierarchy 的输出中的第一个 (int (*)(...))0 vtable 条目是什么?

对于此代码:classB1{public:virtualvoidf1(){}};classD:publicB1{public:voidf1(){}};intmain(){B1*b1=newB1();D*d=newD();return0;}编译后,我用g++-fdump-class-hierarchy得到的vtable是:VtableforB1B1::_ZTV2B1:3uentries0(int(*)(...))08(int(*)(...))(&_ZTI2B1)16B1::f1VtableforDD::_ZTV1D:3uentries0(int(*)(...))08(int(*)(...

c++ - g++ -fdump-class-hierarchy 的输出中的第一个 (int (*)(...))0 vtable 条目是什么?

对于此代码:classB1{public:virtualvoidf1(){}};classD:publicB1{public:voidf1(){}};intmain(){B1*b1=newB1();D*d=newD();return0;}编译后,我用g++-fdump-class-hierarchy得到的vtable是:VtableforB1B1::_ZTV2B1:3uentries0(int(*)(...))08(int(*)(...))(&_ZTI2B1)16B1::f1VtableforDD::_ZTV1D:3uentries0(int(*)(...))08(int(*)(...