Flowchart Visual Studio.ncb文件的内部格式

Flowchart Visual Studio.ncb文件的内部格式,flowchart,ncb,Flowchart,Ncb,我已经决定,我真的需要得到一些流程图,以便对我继承的一些代码进行反向工程。我没有VS的团队版,因此无法将团队的内置功能用于Visio。所以我想我应该解析.ncb(解析器信息)文件,并用dot(来自graphviz.org)制作图表。这有多难?但我找不到任何关于该文件内部的文件 我真的不想使用商业应用程序来制作流程图。我看到的免费插件都假设我使用的是C#或VB。但是,我使用C和C++。 我确实尝试过微软的“Visual Studio学习包”,它有“可视化编程流程图”工具。但是它似乎并没有用C++来

我已经决定,我真的需要得到一些流程图,以便对我继承的一些代码进行反向工程。我没有VS的团队版,因此无法将团队的内置功能用于Visio。所以我想我应该解析.ncb(解析器信息)文件,并用dot(来自graphviz.org)制作图表。这有多难?但我找不到任何关于该文件内部的文件

我真的不想使用商业应用程序来制作流程图。我看到的免费插件都假设我使用的是C#或VB。但是,我使用C和C++。 我确实尝试过微软的“Visual Studio学习包”,它有“可视化编程流程图”工具。但是它似乎并没有用C++来工作。太近了


那么,是否有人有文件格式的指针或其他建议(保持礼貌!)?

我认为您没有太多机会解析NCB文件。它们是一种专有的二进制格式,在VisualStudio的每一个版本之间都会发生变化。从我在某个地方读到的内容来看,在VS2010中,NCB可能会被丢弃,intellisense信息将使用SQL Server Express保存在普通数据库中


您可能考虑的另一个选项是使用其他工具来分析代码并建立图表和UML图表。Doxygen在某种程度上做到了这一点,还有大量的商业工具也做到了这一点。我有一些关于RationalRose的个人经验(现在可能已经不存在了…)和一个叫做Together的工具。对于“谁调用什么”、“谁继承/重载何处”和“谁读/写全局”意义上的结构分析,可能会有所帮助。我曾经使用Dehyra(一个mozilla项目)进行分析,使用yed(www.yworks.com)进行图形显示。两者都是免费的

Dehara在linux下运行,需要您的代码通过gcc编译。这不是一个太严重的障碍,因为VC可以生成makefile,可以手工修改以供gnu make使用。 在我的例子中,需要对include文件进行一些修补,但我最终可以获得所需的信息

我花了3天时间让Dehara正常工作,又花了2天时间调整makefile和includes 再过3天修改javascript代码,Dehara将从中提取所需信息


Dehyra+Javascript现在在一个编译器运行中提供了一个包含代码结构的graphml文件,该文件可以在yed中直接显示和交互操作。

我已经得出结论,您是正确的。然而,似乎有一种叫做VCCodeModel的东西,我可以用它来获取我需要的信息。但是普通C++没有例子…