• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-250  評(píng)論-20  文章-55  trackbacks-0

            1、????????? 如何快速地 規(guī) 范代 碼縮進(jìn) 格式

            中所需要 規(guī) 范的代 ,按shift+F8

            2、????????? 如何在Release 狀態(tài) 進(jìn) 調(diào)試

            Project->Setting=>ProjectSetting 對(duì)話(huà) 框, 選擇 Release 狀態(tài) C/C++ 標(biāo)簽 中的Category General,Optimizations Disable(Debug),Debut info Program Database。在Link 標(biāo)簽 Generate debug info 復(fù)選 框。

            ?

            注:只是一 個(gè) 介乎Debug合Release的中 間狀態(tài) ,所有的ASSERT、VERIFY都不起作用,函 數(shù)調(diào) 用方式已 經(jīng) 正的 調(diào) 用,而不 表,但是 這種狀態(tài) QuickWatch、 調(diào) 隊(duì) 列跟蹤功能仍然有效,和Debug版一

            ?

            3、????????? Release和Debug有什 不同。

            Release版 稱(chēng)為發(fā) 行版,Debug版 稱(chēng)為調(diào)試 版。

            Debug中可以 執(zhí) 行、跟蹤等功能,但生成的可 執(zhí) 行文件比 大,代 碼運(yùn) 行速度 慢。Release版 運(yùn) 行速度 快,可 執(zhí) 行文件 小,但在其 編譯條 件小無(wú)法 執(zhí) 調(diào)試 功能。

            Release的exe文件 接的是 標(biāo) 準(zhǔn)的MFC DLL(Use MFC in a shared or static dll),比如MFC42.DLL。 DLL在安裝Windows的 時(shí) 候,已 經(jīng) 配置,所以 些程序能 沒(méi) 有安裝Visual C++ 6.0的機(jī)器上 運(yùn) 行。而Debug版本的exe 接了 調(diào)試 版本的MFC DLL文件,如MFC42D.DLL。在 沒(méi) 有安裝Visual C++6.0的機(jī)器上不能 運(yùn) 行,因 MFC42D.DLL等,除非 選擇 use static dll when link。

            ?

            4、????????? ASSERT和VERIFY有什 么區(qū)別

            ASSERT里面的 內(nèi) 容在Release版本中不 編譯 VERIFY里面的 內(nèi) 容仍然翻 ,但不再判 斷真 假。所以后者更安全一點(diǎn)。

            例如ASSERT(file.Open(strFileName))。

            一旦到了Release版本中, 一行就忽略了,file根本就不Open()了,而且 沒(méi) 有任何出 錯(cuò) 的信息。如果用VERIFY()就不 會(huì) 這個(gè)問(wèn)題

            ?

            5、????????? Workspace和Project之 是什 么樣 關(guān)

            個(gè) Workspace可以包括幾 個(gè) project,但只有一 個(gè)處 Active 狀態(tài) ,各 個(gè) project之 可以有依 賴(lài)關(guān) 系,在project的Setting..中可以 設(shè) 定,比如那 個(gè) Active 狀態(tài) project可以依 賴(lài) 于其他的提供其函 數(shù)調(diào) 用的 靜態(tài)庫(kù)

            ?

            6、????????? 如何在非MFC程序中使用ClassWizard

            在工程目 下新建一 個(gè) 空的.RC文件,然后加入到工程中就可以了。

            ?

            7、????????? 如何 設(shè) 點(diǎn)

            F9在 當(dāng) 前光 標(biāo)處 增加一 個(gè)斷 點(diǎn)和取消一 個(gè)斷 點(diǎn)。

            另外,在 編輯狀態(tài) 下,按Ctrl+B 點(diǎn) 設(shè) 對(duì)話(huà) 框。然后 單擊 Condition…】按 鈕彈 設(shè) 點(diǎn) 件的 對(duì)話(huà) 進(jìn) 設(shè) 置。

            ?

            8、????????? 編輯狀態(tài) 發(fā)現(xiàn)成員變量或函數(shù)不能顯示提示是如何打開(kāi)顯示功能

            似乎是目前 這個(gè) Visual C++ 6.0版本的一 個(gè) bug,可按如下步 使其正常,如再出 現(xiàn) ,可如法炮制:

            (1)???????????? 關(guān)閉 Project

            (2)???????????? “工程名.ncb”文件

            (3)???????????? 重新打 開(kāi) 工程

            ?

            9、????????? 如何 個(gè) 過(guò) ClassWizard生成的 類(lèi)徹

            首先在工作 區(qū) FileView中 該類(lèi) .h和.cpp文件,按delete 除,然后在文件管理器中 將這兩個(gè) 文件 除,再 運(yùn) ClassWizard, 這時(shí) 現(xiàn) 是否移走 該類(lèi) 的提示, 選擇 remove就可以了。

            ?

            10、???? 如何 workspace中消失的 類(lèi) 找出 來(lái)

            開(kāi)該類(lèi)對(duì)應(yīng) 文件,然后 類(lèi) 便改一下, 這個(gè)時(shí) 候工作 區(qū) 會(huì) 現(xiàn) 新的 類(lèi) ,再 將這個(gè)類(lèi) 改回原 來(lái) 的名字就可以了。

            ?

            11、???? 如何 楚所有的 點(diǎn)

            Edit】->【Breakpoints…】,打 開(kāi) “Breakpoints” 對(duì)話(huà) 框, 單擊 Remove All】按 即可。

            快捷 “Ctrl + Shift + F8”。

            ?

            12、???? 如何再ClassWizard中 選擇 未列出的信息

            開(kāi) “ClassWizard” 對(duì)話(huà) 框,然后切 “Class Info” 頁(yè) 面。改 “Message filter”,如 選擇 “Window”,“Message” 頁(yè) 面就 會(huì) 現(xiàn) Window的信息。

            ?

            13、???? 如何 檢測(cè) 程序中的括 號(hào) 是否匹配

            把光 標(biāo) 動(dòng) 到需要 檢測(cè) 的括 號(hào) 前面,按快捷 “Ctrl + ]”。如果括 號(hào) 匹配正確,光 標(biāo) 就跳到匹配的括 號(hào)處 ,否 標(biāo) 不移 動(dòng) 且機(jī)箱喇叭 還會(huì)發(fā) 出一 警告。

            ?

            14、???? 如何 看一 個(gè) (或 量、函 數(shù) )的定

            把光 標(biāo) 動(dòng) 到要 看的一 個(gè) 宏上,就比如 說(shuō) 最常 見(jiàn) DECLARE_MAP_MESSAGE上按一下F12(或右 中的相 關(guān) ),如果 沒(méi) 有建立 瀏覽 文件,就 會(huì) 現(xiàn) 提示 對(duì)話(huà) 框,按【確定】按 ,然后就 會(huì) 跳到 (或 量、函 數(shù) )定 的地方。

            ?

            15、???? 如何添加 Lib 文件到當(dāng)前工程

            單擊菜單【 Project 】- > Settings… 】彈出“ Project Setting ”對(duì)話(huà)框,切換到“ Link ”標(biāo)簽頁(yè),在“ Object/library modules ”處輸入 Lib 文件名稱(chēng),不同的 Lib 之間用空格格開(kāi)。

            ?

            16、???? 如何快速刪除項(xiàng)目下的 Debug 文件夾中臨時(shí)文件

            在工作區(qū)的 FileView 視圖中選中對(duì)應(yīng)的項(xiàng)目,單擊右鍵彈出菜單,選擇【 Clean(selection only) 】菜單即可。

            ?

            17、???? 如何快速生成一個(gè)現(xiàn)有工程除了工程名外完全相同的新工程。

            在新建工程的“ New ”對(duì)話(huà)框中選擇“ Custom Appwizard ”項(xiàng),輸入新工程的名字,單擊【 OK 】按鈕。出現(xiàn)“ Custom AppWizard ”項(xiàng),輸入新工程的名字,單擊【 OK 】按鈕。出現(xiàn)“ Custom AppWizard Step 1 of 2 ”對(duì)話(huà)框,選擇“ An existing Project ”項(xiàng),單擊【 Next 】按鈕。出現(xiàn)“ Custom AppWizard Step 2 of 2 ”對(duì)話(huà)框,選擇現(xiàn)有工程的工程文件名,最后單擊【 Finish 】按鈕。編譯后就生成一個(gè)與現(xiàn)有工程相同但可以重新取名的工程 AppWizard

            現(xiàn)在就可以項(xiàng)用 MFC AppWizard 一樣用這個(gè)定制的向?qū)АH绻幌胗昧耍梢栽?/span> Visual C++ 6.0 安裝目錄下 Common \ MSDev98 \ Template 目錄中刪除該 Wizard 對(duì)應(yīng)的 .awx .pdb 文件。

            ?

            18、???? 如何解決 Visual C++ 6.0 不正確連接的問(wèn)題

            情景:明明之間改動(dòng)了一個(gè)文件,卻要把整個(gè)項(xiàng)目全部重新編譯鏈接一次。剛剛鏈接好,一運(yùn)行,有提示重新編譯鏈接一次。

            這是因?yàn)槌霈F(xiàn)了未來(lái)文件 ( 修改時(shí)間和創(chuàng)建時(shí)間比系統(tǒng)時(shí)間晚 ) 的緣故。可以這樣處理:找到工程文件夾下的 debug 目錄,將創(chuàng)建和修改時(shí)間都比系統(tǒng)時(shí)間的文件全部刪除,然后再?gòu)男隆?/span> Rebuild All ”一次。

            ?

            19、???? 引起 LNK2001 的常見(jiàn)錯(cuò)誤都有哪些

            遇到的 LNK2001 錯(cuò)誤主要為: unresolved external symbol “symbol”

            如果鏈接程序不能在所有的庫(kù)和目標(biāo)文件內(nèi)找到所引用的函數(shù)、變量或標(biāo)簽,將產(chǎn)生此錯(cuò)誤信息。

            一般來(lái)說(shuō),發(fā)生錯(cuò)誤的原因有兩個(gè):一時(shí)所引用的函數(shù)、變量不存在,拼寫(xiě)不正確或者使用錯(cuò)誤;其次可能使用了不同版本的鏈接庫(kù)。一下是可能產(chǎn)生 LNK2001 錯(cuò)誤的原因:

            <1> 由于編碼錯(cuò)誤導(dǎo)致的 LNK2001 錯(cuò)誤

            (1)???????????? 不相匹配的程序代碼或模塊定義 (.DEF) 文件導(dǎo)致 LNK2001 。例如,如果在 C++ 源文件了內(nèi)聲明了一變量“ var1 ”,卻視圖在另一個(gè)文件內(nèi)以變量“ var1 ”訪問(wèn)改變量。

            (2)???????????? 如果使用的內(nèi)聯(lián)函數(shù)是在 .cpp 文件內(nèi)定義的,而不是在頭文件內(nèi)定義將導(dǎo)致 LNK2001 錯(cuò)誤。

            (3)???????????? 調(diào)用函數(shù)是如果所用的參數(shù)類(lèi)型頭函數(shù)聲明是的類(lèi)型不符將會(huì)產(chǎn)生 LNK2001 錯(cuò)誤。

            (4)???????????? 視圖從基類(lèi)的構(gòu)造函數(shù)或析構(gòu)函數(shù)中調(diào)用虛擬函數(shù)時(shí)將會(huì)導(dǎo)致 LNK2001 錯(cuò)誤。

            (5)???????????? 要注意函數(shù)和變量的可公用性,只有全局變量、函數(shù)時(shí)可公用的。靜態(tài)函數(shù)和靜態(tài)變量具有相同的使用范圍限制。當(dāng)試圖從文件外部方位任何沒(méi)有在該文件內(nèi)聲明的靜態(tài)變量時(shí)將導(dǎo)致編譯錯(cuò)誤或 LNK2001 錯(cuò)誤。

            <2> 由于編譯和聯(lián)機(jī)的設(shè)置而造成的 LNK2001 錯(cuò)誤

            (1)???????????? 如果編譯時(shí)使用的時(shí) /NOD(/NODERAULTLIB) 選項(xiàng),程序所需要的運(yùn)行庫(kù)和 MFC 時(shí)將得到又編譯器寫(xiě)入目標(biāo)文件模塊,但除非在文件中明確包含這些庫(kù)名,否則這些庫(kù)不會(huì)北鏈接進(jìn)工程文件。這種情況下使用 /NOD 將導(dǎo)致 LNK2001 錯(cuò)誤

            (2)???????????? 如果沒(méi)有為 wWinMainCRTStartup 設(shè)定程序入口,在使用 Unicode MFC 時(shí)講的到“ unresolved external on _WinMain@16 ”的 LNK2001 錯(cuò)誤信息。

            (3)???????????? 使用 /MD 選項(xiàng)編譯時(shí),既然所有的運(yùn)行庫(kù)都被保留在動(dòng)態(tài)鏈接庫(kù)之內(nèi),源文件中對(duì)“ func” 的引用,在目標(biāo)文件里即對(duì)“ __imp__func ”的引用。如果試圖使用靜態(tài)庫(kù) LIBC.LIB LIBCMT.LIB 進(jìn)行鏈接,將在 __imp__func 上發(fā)生 LNK2001 錯(cuò)誤。如果不使用 /MD 選項(xiàng)編譯,在使用 MSVCxx.LIB 鏈接時(shí)也會(huì)發(fā)生 LNK2001 錯(cuò)誤。

            (4)???????????? 使用 /ML 選項(xiàng)編譯時(shí),如用 LIBCMT.LIB 鏈接回在 _errno 上發(fā)生 LNK2001 錯(cuò)誤。

            (5)???????????? 當(dāng)編譯調(diào)試版的應(yīng)用程序時(shí),如果采用發(fā)行版模態(tài)庫(kù)進(jìn)行鏈接也會(huì)產(chǎn)生 LNK2001 錯(cuò)誤;同樣,使用調(diào)試版模態(tài)庫(kù)鏈接發(fā)行版應(yīng)用程序時(shí)也會(huì)產(chǎn)生相同的錯(cuò)誤。

            (6)???????????? 不同版本的庫(kù)和編譯器的混合使用也能產(chǎn)生問(wèn)題,因?yàn)樾掳娴膸?kù)里可能包含早先的版本沒(méi)有的符號(hào)和說(shuō)明。

            (7)???????????? 在不同的模塊中使用內(nèi)聯(lián)和非內(nèi)聯(lián)的編譯選項(xiàng)能夠?qū)е?/span> LNK2001 錯(cuò)誤。如果創(chuàng)建 C++ 庫(kù)時(shí)打開(kāi)了函數(shù)內(nèi)聯(lián) (/Ob1 /Ob2) ,但是在描述該函數(shù)的相應(yīng)頭問(wèn)卷安里卻關(guān)閉了函數(shù)內(nèi)聯(lián) ( 沒(méi)有 inline 關(guān)鍵字 ) ,只是將得到錯(cuò)誤信息。為避免該問(wèn)題的發(fā)生,應(yīng)該在相應(yīng)的頭文件中用 inline 關(guān)鍵字標(biāo)志為內(nèi)聯(lián)函數(shù)。

            (8)???????????? 不正確的 /SUBSYSTEM ENTRY 設(shè)置也能導(dǎo)致 LNK2001 錯(cuò)誤。

            ?

            20、???? 如何調(diào)試一個(gè)沒(méi)有源碼的 exe 文件調(diào)用的 dll

            Visual C++ 6.0 中,進(jìn)入“ Project Setting ”對(duì)話(huà)框然后選擇 Debug 標(biāo)簽頁(yè)。通常 Visual Studio 默認(rèn)“ executable for debug session ”為可執(zhí)行文件名,但可以將他改成任何你想要的程序。甚至可以指定不同的工作目錄以及傳遞參數(shù)到你的程序。這個(gè)技術(shù)常用來(lái)調(diào)試 Dlls 、名字空間擴(kuò)展、 COM 對(duì)象和其他從某些 EXE 以及從第三方的 EXE 中調(diào)用的 plug-in 程序。

            ?

            21、???? Visual C++ 6.0 工程中的項(xiàng)目文件都表示什么。

            .opt :工程關(guān)于開(kāi)發(fā)化境的參數(shù)文件。如工具條位置等信息。

            .aps(AppStudio File) 資源輔助文件,二進(jìn)制格式,一般不用去管他。

            .clw ClassWizard 信息文件,實(shí)際上是 INI 文件格式,又興趣可以研究一下。有時(shí)候 ClassWizard 出了問(wèn)題,手工修改 CLW 文件可以解決。如果此文件不存在的話(huà),每次用 ClassWizard 的時(shí)候回提示是否重建。

            .dsp(DevelopStudio Project) :項(xiàng)目文件,文本格式,不過(guò)不熟悉的或不要手工修改。

            .dsw(DevelopStudio Workspace) :是工作區(qū)文件,其他特點(diǎn)和 .dsp 差不多。

            .plg :是編譯信息文件,編譯時(shí)的 error warning 信息文件 ( 實(shí)際上時(shí)一個(gè) html 文件 ) ,一般用處不大。在單擊菜單【 Tool 】- > Option 】彈出的對(duì)話(huà)框里面有個(gè)選項(xiàng)可以控制這個(gè)文件的生成。

            .hpj(Help Project) :是生成幫助文件的工程,用 microsoft Help Compiler 可以處理。

            .mdp(Microsoft DevStudio Project) :是舊版本的項(xiàng)目文件,如果要打開(kāi)此文件的話(huà),回提示你是否轉(zhuǎn)換成新的 .dsp 格式。

            .bsc :是用于瀏覽項(xiàng)目信息的,如果用 Source Brower 的話(huà)舊必須又這個(gè)文件。如果不用這個(gè)功能的話(huà),可以在 Project Options 里面去掉 Generate Browse Info File ,這樣可以加快編譯速度。

            .map 是執(zhí)行文件的影像信息記錄文件,除非對(duì)系統(tǒng)底層,這個(gè)文件一般用不著。

            .pch(Pre-Compiled File) :是與編譯文件,可以加快編譯速度,但是文件非常大。

            .pdb(Program Database), 記錄了程序有關(guān)的一些數(shù)據(jù)和調(diào)試信息,在調(diào)試的時(shí)候可能有用。

            .exp :只有在編譯 DLL 的時(shí)候才會(huì)生成,記錄了 DLL 文件的一些信息,一般也沒(méi)有用。

            .ncb :無(wú)編譯瀏覽文件 (no compile browser) 。當(dāng)自動(dòng)完成功能出問(wèn)題時(shí)可以刪除此文件。編譯工程后回自動(dòng)生成。

            posted on 2007-02-23 15:13 jay 閱讀(611) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): VC
            99精品国产综合久久久久五月天| 久久精品亚洲精品国产欧美| 亚洲午夜无码AV毛片久久| 欧美精品一区二区精品久久| 久久精品亚洲日本波多野结衣| 久久综合亚洲色HEZYO社区| 久久精品国产99久久久香蕉 | 国产精品无码久久综合网| 精品久久777| 色综合久久天天综合| 久久91这里精品国产2020| 久久免费大片| 久久亚洲精品无码aⅴ大香| 久久国产色av免费看| 亚洲国产精品久久久天堂| 久久国产精品一国产精品金尊| 97久久超碰国产精品旧版| 久久国产精品国产自线拍免费| 精品人妻伦九区久久AAA片69| 精品久久久无码中文字幕天天| 天天影视色香欲综合久久| 久久人人爽人人爽人人片AV麻烦 | 亚洲天堂久久精品| 久久免费视频6| 亚洲伊人久久精品影院| 亚洲国产精品久久久久久| 久久强奷乱码老熟女| 浪潮AV色综合久久天堂| 国产91久久综合| 久久久国产99久久国产一| 国产Av激情久久无码天堂| 人人狠狠综合久久亚洲| 精品久久人妻av中文字幕| 久久人人爽人人爽AV片| 精品无码久久久久久尤物| 欧美性大战久久久久久| 国产91色综合久久免费| 久久久久久曰本AV免费免费| 久久国产亚洲精品麻豆| 少妇久久久久久被弄高潮| 久久影院午夜理论片无码|