wxWidgets:不使用 C++ RTTI 时的注意事项
生活随笔
收集整理的這篇文章主要介紹了
wxWidgets:不使用 C++ RTTI 时的注意事项
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
wxWidgets:不使用 C++ RTTI 時的注意事項
- wxWidgets:不使用 C++ RTTI 時的注意事項
- Bind() 問題
- wxAny 問題
wxWidgets:不使用 C++ RTTI 時的注意事項
筆記
在大多數 wxWidgets 構建中,C++ RTTI 通常默認啟用。如果您不知道您的構建是否啟用了 C++ RTTI,那么它可能已啟用,您不必擔心本節中提到的任何內容。
雖然通常 wxWidgets 標準運行時類型信息 (RTTI)在整個庫中使用,但在某些地方它不起作用。這些地方之一是模板類。
如果可用,C++ RTTI 用于解決此問題。如果您在禁用 C++ RTTI 的情況下構建了庫,則會替換內部 RTTI 系統。然而,這個系統并不完美,一個經過驗證的可能會被破壞的場景是共享庫或 DLL 構建。更具體地說,在一個物理二進制文件中創建的模板類實例在另一個物理二進制文件中使用時可能不會被識別為它的正確類型。
Bind() 問題
wxWidgets 2.9.0 引入了一個新的動態事件處理系統,使用wxEvtHandler::Bind<>()和 Unbind<>()。此功能在幕后使用模板,因此很容易在共享庫構建中受到破壞,如上所述。</
總結
以上是生活随笔為你收集整理的wxWidgets:不使用 C++ RTTI 时的注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wxWidgets:运行时类型信息 (R
- 下一篇: wxWidgets:引用计数