0
我有一个托管VC++,我想在非托管C++上执行诸如Type::GetMembers()
和PropertyInfo::GetValue()
之类的操作。在非托管C++上使用托管VC++执行反射式操作
我读了一点关于Unmanaged Reflection API,但我不确定我是否在正确的道路上。
谢谢。
我有一个托管VC++,我想在非托管C++上执行诸如Type::GetMembers()
和PropertyInfo::GetValue()
之类的操作。在非托管C++上使用托管VC++执行反射式操作
我读了一点关于Unmanaged Reflection API,但我不确定我是否在正确的道路上。
谢谢。
您正在寻找完全错误的地方。
本机调试器是执行这些操作的最常用工具,必要的元数据存储在调试数据库(Visual C++的.pdb文件)中。
The native debugging APIs are extensively documented.
例如,SymGetTypeInfo
(和更新的SymGetTypeInfoEx
)可以访问信息大致等同于System.Type
找到,包括基类,成员等
否,则编译器不会生成本地代码的任何元数据。非托管反射api可用于为本地代码访问托管程序的元数据。编写编译器等时很有用。 – 2012-02-24 01:51:48
@Hans:如果您传递['/Zi'](http://msdn.microsoft.com/en-US/library/958x11bc.aspx) - “生成程序数据库(PDB)类型信息“ – 2012-02-24 23:48:33