0
アンマネージドC++ではType::GetMembers()
とPropertyInfo::GetValue()
のようなものをやりたい管理VC++があります。管理VC++で管理されていないC++でリフレクションのような操作を実行
私は少しだけUnmanaged Reflection APIについて読んでいますが、私が正しい道にいるかどうかはわかりません。
ありがとうございました。
アンマネージドC++ではType::GetMembers()
とPropertyInfo::GetValue()
のようなものをやりたい管理VC++があります。管理VC++で管理されていないC++でリフレクションのような操作を実行
私は少しだけUnmanaged Reflection APIについて読んでいますが、私が正しい道にいるかどうかはわかりません。
ありがとうございました。
あなたは完全に間違った場所を探しています。
これらの操作を実行する最も一般的なツールはネイティブデバッガで、必要なメタデータはデバッグデータベース(Visual C++の.pdbファイル)に格納されます。
The native debugging APIs are extensively documented.
例えば、SymGetTypeInfo
(及びSymGetTypeInfoEx
以降)は、ベースクラス、メンバー、等を含む、System.Type
に見られるものとほぼ同等の情報へのアクセスを提供
いいえ、コンパイラが生成しませんネイティブコードのメタデータアンマネージドリフレクションAPIを使用すると、管理対象プログラムのメタデータにネイティブコードでアクセスできます。コンパイラやsomesuchを書くときに便利です。 –
@Hans:コンパイラは、['/ Zi'](http://msdn.microsoft.com/en-US/library/958x11bc.aspx)を渡すと、メタデータを生成します。 - "以下を含むプログラムデータベース(PDB)を生成します。タイプ情報 " –