Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从结构或类中提取成员变量_C++_C_Class_Struct - Fatal编程技术网

C++ 从结构或类中提取成员变量

C++ 从结构或类中提取成员变量,c++,c,class,struct,C++,C,Class,Struct,有没有工具可以从源代码中提取给定结构或类的成员变量? 我期待的是以下几点 假设target.c如下所示: #include <stdio.h> struct A { int a; int b; }; int main() { blah... } 有没有像“提取成员”这样的工具?像ctags、doxygen、gccxml这样的程序都提供了实现这一点的方法。。。您可能想在网上阅读这些工具,并决定哪些适合您的需要。我不熟悉任何类似的工具,但创建一个工具并不难。你所

有没有工具可以从源代码中提取给定结构或类的成员变量? 我期待的是以下几点

假设target.c如下所示:

#include <stdio.h>
struct A {
    int a;
    int b;
};
int main()
{
    blah...
}

有没有像“提取成员”这样的工具?

像ctags、doxygen、gccxml这样的程序都提供了实现这一点的方法。。。您可能想在网上阅读这些工具,并决定哪些适合您的需要。

我不熟悉任何类似的工具,但创建一个工具并不难。你所需要做的就是在一个文件中找到某个关键字,说“class”关键字,然后提取其中的成员。@lightbringer:由于可能使用includes、预处理器宏、注释、三角图、,法律C++代码,只能用事先声明的知识来精确解释——通常,C++的异常复杂性……事情在SealStutt中,可能会有注释。因此,我认为那里需要某种类型的reg ex。这有什么用…@Havenard:我正在考虑制作一个简单的工具来可视化调用跟踪及其相应的结构。据我所知,CTAG和doxygen没有公开API来访问这些内部结构。我希望我可以阅读ctags和doxygen的来源,但我正在寻找一种更简单的方法,如果有的话。而且,我是gccxml的新手,也许我必须查找它。从gccxml的介绍来看,它似乎符合我的目的。谢谢@jaeyong:对于doxygen,我认为这是GENERATE_XML选项——没有API可能是对的,但是您可以使用任何XML库的API加载输出。ctags对您来说可能更难使用,因为我想您是对的,没有方便的标准API,据我所知,使用ctags输出的应用程序编写自己的解析代码。
$ extract-member target.c A
struct A member list:
 - int a;
 - int b;