使用Visual studio .ncb文件进行反射

时间:2010-04-03 05:00:52

标签: c++ reflection file rtti ncb

我正在用c ++开发视觉游戏关卡编辑器。 为此,我希望反射(RTTI)机制在运行时知道类属性。 我目前正在使用PDB文件。但是使用PDB我无法检索实际代码行以获得为该属性指定的注释格式的额外信息。 Visual Studio使用NCB文件进行智能化。 那么使用NCB代替PDB会更好吗? 如果是,如何从NCB文件中检索信息? 有像DIA SDK这样的SDK吗?

2 个答案:

答案 0 :(得分:4)

NCB文件格式未公开记录,并随每个Visual Studio版本而变化。随着即将推出的VS2010(即将推出大约一周半),它将完全支持一种新的基于SQL的格式,这种格式应该更容易使用。 Microsoft还实现了一个API,用于与解析器中的Intellisense数据集成。

答案 1 :(得分:2)

真的不会依赖.ncb文件进行反射。这些文件用于智能感知,仅用于智能感知。他们可以在没有警告的情况下改变,不是最新的,或者你有什么......

你可以做一些宏hackery来获得你想要的反射(类似于将你的变量/方法推入某个容器,并同时声明它)......或者使用像Qt这样的框架(这是我一直在使用的我的关卡编辑。)