1

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

4

2 回答 2

4

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

于 2010-04-03T05:05:17.550 回答
2

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

你可以做一些宏观黑客来获得你所寻求的反射(比如将你的变量/方法推送到某个容器中,并同时声明它)......或者使用像 Qt 这样的框架(这是我在我的关卡中一直使用的)编辑)。

于 2010-04-03T05:05:57.107 回答