2010-04-03 59 views
1

我正在用C++開發視覺遊戲關卡編輯器。 爲此,我想反射(RTTI)機制在運行時知道類屬性。 我目前使用PDB文件this.But使用PDB我無法檢索實際的代碼行中的額外的信息在該屬性給出的註釋格式。 Visual Studio使用NCB文件來實現智能。 那麼使用NCB代替PDB會更好嗎? 如果是,如何從NCB文件檢索信息? 是否有像DIA SDK一樣的SDK?使用Visual sudio .ncb文件進行反射

+2

你對信息做了什麼?它可能在語言中完成,或者至少比使用IDE文件更容易。 – GManNickG 2010-04-03 05:03:31

+0

額外的信息可能是 - 我們是否想要反映它 - 該屬性的名稱。 - 該屬性的最大最大值 – Neo 2010-04-03 05:08:05

+1

這類信息屬於您創建和解析的文件。或者作爲這些類中的函數來調用和查詢。 – GManNickG 2010-04-03 05:15:44

回答

4

NCB文件格式沒有公開記錄,並隨每個版本的Visual Studio而變化。隨着即將到來的VS2010(即將推出大約一週半的時間),它將完全失去支持新的基於SQL的格式,應該更容易處理。微軟還正在實施一個API,用於與解析器中的Intellisense數據集成。

2

真的不會依賴.ncb文件進行反射。這些文件僅用於intellisense,並且僅用於intellisense。他們可以改變沒有警告,不是最新的,或者你有什麼...

你可以做一些宏hackery得到你想要的反射(像你的變量/方法推入一些容器,並聲明它同時)......或者使用像Qt這樣的框架(這是我一直用於我的關卡編輯器的)。