RTTI: ? Runtime ? Type ? Information ? 運行時類型信息 ?
? ? ? ? ? 在程序中,當我們得到某一個對象的實例或者指針時,大多數時候并不能直接肯定它的類型(都是繼承以及類型轉換惹的禍),這個時候,依靠VC4.0或更高版本的編譯器提供的RTTI支持,調用庫函數typeid()即可在運行時獲取這個對象的“類型信息”,在一些動態處理中“類型信息”很重要,獲取了類型信息以后,你就可以有十分把握地調用該類型的相關操作,或者類型轉換,或動態生成。因其重要性,在JAVA和.net庫中借助單根繼承對此有了更優雅的做法,每一個自object繼承的類天然就有了表述自己類型信息的能力(繼承的好處),并且容易擴展,現在你需要類型信息的時候,大可直接ask那個對象:tell ? me, ? what ? type ? are ? you?它就會告訴你答案。 ?
? ?
? debug ? & ? release ? 可譯為調試 ? & ? 發行 ?
? ? ? ? ? 大家都知道,debug是調試版,release是發行版,區別在于debug版生成的程序中包含大量供調試用的場景代碼(不是真正運行需要的),而release一般去掉了這些信息,并進行了些代碼優化,所以release版的程序會比debug版的程序小很多,運行速度也快一些。同時,debug版為了便于調試,往往會對調試使用的診斷代碼加上DEBUG一類的宏,使得在release下不對這些代碼進行編譯。正由于兩種版本編譯使用的源代碼的差異(以及release糟糕的優化),常常使得兩種版本運行時產生截然不同的效果,一個正常一個崩潰是大多數人都遇到過的。導致問題的可能性很多,注意事項詳見以前的諸多討論貼。另,同一個程序如果DLL之間的鏈接使用了不同版本(譬如EXE是release版,dll是debug版),有時會無法正常運行,所以我一般的做法是每一個DLL針對不同版本使用兩個DEF文件,編譯生成不同名的兩個文件(debug版文件名后加d),調用時各個版本針對自己的版本調用,這在一定程序下可避免混亂。另,release也是可調試的,在工程設置里把調試信息打開即可。
??
ActiveX插件: ?
? ?
? ActiveX插件以前也叫做OLE控件或OCX控件,它是一些軟件組件或對象,可以將其插入到WEB網頁或其它應用程序中
posted on 2006-05-14 12:54
太極虎~宏 閱讀(103)
評論(0) 編輯 收藏 引用