版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——編寫并運(yùn)行C語言程序VC6.0使用教程:從VC6.0安裝到運(yùn)行和調(diào)試
VisualC++6.0簡稱VC或者VC6.0,是微軟推出的一款C和C++編譯器,具有強(qiáng)大的可視化開發(fā)功能和調(diào)試功能。VC6.0是使用最多的版本,十分經(jīng)典,好多高校將VC6.0作為C語言的教學(xué)基礎(chǔ),也是好多C語言入門學(xué)者的不二選擇。
學(xué)習(xí)C語言要多上機(jī)試驗(yàn)、多編程——學(xué)習(xí)編程的秘訣是:編程,編程,再編程!這是一件十分辛苦的事情,學(xué)習(xí)方法不對、進(jìn)展過慢,學(xué)習(xí)過程中不能正確對待辛苦就會特別痛楚。
這部VC6.0教程,能夠讓您快速把握如何安裝VC6.0,如何編譯和調(diào)試C語言程序。
當(dāng)然,這部教程也適用于C++編程人員。VC6.0安裝教程
VC6.0安裝教程,解決win7兼容性問題
VC6.0與office2023不兼容、無法開啟文件、無法向工程中添加文件的解決方案以前安裝過VC6.0,重新安裝VC6.0后編譯出錯(cuò)問題的解決方案VC6.0編譯出錯(cuò)Compiling...,Errorspawningcl.exe的解決方案VC6.0不能中止調(diào)試程序的解決方案
VC6.0在XP下調(diào)試MFC多線程死機(jī)問題的解決方案
VC6.0使用教程
編寫并運(yùn)行C語言程序的\四步曲\VC6.0工程以及工程工作區(qū)的使用啟動并進(jìn)入VC6.0的集成開發(fā)環(huán)境
在VC6.0中創(chuàng)立工程并輸入源代碼
VC6.0最快的方法:不創(chuàng)立工程,直接輸入源程序代碼VC6.0編譯、鏈接以及運(yùn)行程序使用VC6.0及時(shí)備份自己的工程使用VC6.0發(fā)布自己的作品以讓他人使用VC6.0的常用菜單項(xiàng)VC6.0的主要工作窗口
什么時(shí)候需要對C語言程序進(jìn)行調(diào)試對C語言程序進(jìn)行調(diào)試的基本手段和方法使用VC6.0對C語言程序進(jìn)行調(diào)試的基本手段VC6.0調(diào)試功能的使用
如何對C語言設(shè)計(jì)適合的程序調(diào)試方案
優(yōu)秀C程序員的基本素質(zhì)--豐富的想象、嚴(yán)謹(jǐn)?shù)乃季SVC6.0編譯與鏈接過程中常見的出錯(cuò)提醒VC6.0常見編譯錯(cuò)誤提醒VC60.0常見鏈接錯(cuò)誤
編寫并運(yùn)行C語言程序的\四步曲\
讓我們用VC6.0先來編制一個(gè)最簡單的程序,并讓它運(yùn)行(執(zhí)行)而得出結(jié)果,以此來作為了解VC6.0的開端。這個(gè)程序的功能僅僅是向屏幕上輸出一個(gè)字符串“HelloWorld〞。程序雖小,但與編制運(yùn)行大程序的整個(gè)過程是一致的,都包含著如下所謂的“四步曲〞:
1)編輯(把程序代碼輸入,交給計(jì)算機(jī))
2)編譯(成目標(biāo)程序文件.obj)
編譯就是把高級語言變成計(jì)算機(jī)可以識別的二進(jìn)制語言,計(jì)算機(jī)只認(rèn)識1和0,編譯程序把人們熟悉的語言換成2進(jìn)制的。編譯程序把一個(gè)源程序翻譯成目標(biāo)程序的工作過程分為五個(gè)階段:詞法分析、語法分析、語義檢查和中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成。主要是進(jìn)行詞法分析和語法分析,又稱為源程序分析,分析過程中發(fā)現(xiàn)有語法錯(cuò)誤,給出提醒信息。
3)鏈接(成可執(zhí)行程序文件.exe)
鏈接是將編譯產(chǎn)生的.obj文件和系統(tǒng)庫連接裝配成一個(gè)可以執(zhí)行的程序。由于在實(shí)際操作中可以直接點(diǎn)擊Build從源程序產(chǎn)生可執(zhí)行程序,可能有人就會置疑:為何要將源程序翻譯成可執(zhí)行文件的過程分為編譯和鏈接兩個(gè)獨(dú)立的步驟,不是多此一舉嗎?之所以這樣做,主要是由于:在一個(gè)較大的繁雜項(xiàng)目中,有好多人共同完成一個(gè)項(xiàng)目(每個(gè)人可能承受其中一部分模塊),其中有的模塊可能是用匯編語言寫的,有的模塊可能是用VC寫的,有的模塊可能是用VB寫的,有的模塊可能是購買(不是源程序模塊而是目標(biāo)代碼)或已有的標(biāo)準(zhǔn)庫模塊,因此,各類源程序都需要先各自編譯成目標(biāo)程序文件(二進(jìn)行機(jī)器指令代碼),再通過鏈接程序?qū)⑦@些目標(biāo)程序文件連接裝配成可執(zhí)行文件。
4)運(yùn)行(可執(zhí)行程序文件)
像運(yùn)行其他程序一樣運(yùn)行生成的可執(zhí)行文件(.exe文件)。
上述四個(gè)步驟中,其中第一步的編輯工作是最繁雜而又必需細(xì)致地由人工在計(jì)算機(jī)上來完成,其余幾個(gè)步驟則相對簡單,基本上由計(jì)算機(jī)來自動完成。
VC6.0工程以及工程工作區(qū)的使用
在開始編程之前,必需先了解工程Project(也稱“項(xiàng)目〞,或稱“工程項(xiàng)目〞)的概念。
工程又稱為項(xiàng)目,它具有兩種含義,一種是指最終生成的應(yīng)用程序,另一種則是為了創(chuàng)立這個(gè)應(yīng)用程序所需的全部文件的集合,包括各種源程序、資源文件和文檔等等。絕大多數(shù)較新的開發(fā)工具都利用工程來對軟件開發(fā)過程進(jìn)行管理。
用VC6.0編寫并處理的任何程序都與工程有關(guān)(都要?jiǎng)?chuàng)立一個(gè)與其相關(guān)的工程),而每一個(gè)工程又總與一個(gè)工程工作區(qū)相關(guān)聯(lián)。工作區(qū)是對工程概念的擴(kuò)展。一個(gè)工程的目標(biāo)是生成一個(gè)應(yīng)用程序,但好多大型軟件往往需要同時(shí)開發(fā)數(shù)個(gè)應(yīng)用程序,VC開發(fā)環(huán)境允許用戶在一個(gè)工作區(qū)內(nèi)添加數(shù)個(gè)工程,其中有一個(gè)是活動的(缺省的),每個(gè)工程都可以獨(dú)立進(jìn)行編譯、連接和調(diào)試。
實(shí)際上,VC6.0是通過工程工作區(qū)來組織工程及其各相關(guān)元素的,就好像是一個(gè)工作間(對應(yīng)于一個(gè)獨(dú)立的文件夾,或稱子目錄),以后程序所牽扯到的所有的文件、資源等元素都將放入到這一工作間中,從而使得各個(gè)工程之間互不干擾,使編程工作更有條理,更具模塊化。最簡單狀況下,一個(gè)工作區(qū)中用來存放一個(gè)工程,代表著某一個(gè)要進(jìn)行處理的程序(我們先學(xué)習(xí)這種用法)。但假使需要,一個(gè)工作區(qū)中也可以用來存放多個(gè)工程,其中可以包含該工程的子工程或者與其有依靠關(guān)系的其他工程。
可看出,工程工作區(qū)就像是一個(gè)“容器〞,由它來“盛放〞相關(guān)工程的所有有關(guān)信息,當(dāng)創(chuàng)立新工程時(shí),同時(shí)要?jiǎng)?chuàng)立這樣一個(gè)工程工作區(qū),而后則通過該工作區(qū)窗口來觀測與存取此工程的各種元素及其有關(guān)信息。創(chuàng)立工程工作區(qū)之后,系統(tǒng)將創(chuàng)立出一個(gè)相應(yīng)的工作區(qū)文件(.dsw),用來存放與該工作區(qū)相關(guān)的信息;另外還將創(chuàng)立出的其他幾個(gè)相關(guān)文件是:工程文件(.dsp)以及選擇信息文件(.opt)等。
編制并處理C++程序時(shí)要?jiǎng)?chuàng)立工程,VC6.0已經(jīng)預(yù)先為用戶準(zhǔn)備好了近20種不同的工程類型以供選擇,選定不同的類型意味著讓VC6.0系統(tǒng)幫著提前做某些不同的準(zhǔn)備以及初始化工作(例如,事先為用戶自動生成一個(gè)所謂的底層程序框架或稱框架程序,并進(jìn)行某些隱含設(shè)置,如隱含位置、預(yù)定義常量、輸出結(jié)果類型等)。工程類型中,其中有一個(gè)為“Win32ConsoleApplication〞,它是我們首先要把握的、用來編制運(yùn)行C++程序方法中最簡單的一種。此種類型的程序運(yùn)行時(shí),將出現(xiàn)并使用一個(gè)類似于DOS的窗口,并提供對字符模式的各種處理與支持。實(shí)際上,提供的只是具有嚴(yán)格的采用光標(biāo)而不是鼠標(biāo)移動的界面。此種類型的工程小巧而簡單,但已足以解決并支持本課程中涉及到的所有編程內(nèi)容與技術(shù),使我們把重點(diǎn)放在程序的編制而并非界面處理等方面,至于VC6支持的其他工程類型(其中有大量還將涉及到Windows或其他的編程技術(shù)與知識),有待在今后的不斷學(xué)習(xí)中來逐漸了解、把握與使用。
啟動并進(jìn)入VC6.0的集成開發(fā)環(huán)境
圖1-4選擇創(chuàng)立一個(gè)什么樣的工程
若選擇“Anemptyproject〞項(xiàng)將生成一個(gè)空的工程,工程內(nèi)不包括任何東西。若選擇“Asimpleapplication〞項(xiàng)將生成包含一個(gè)空的main函數(shù)和一個(gè)空的頭文件的工程。選“A\〞項(xiàng)與選“Asimpleapplication〞項(xiàng)沒有什么本質(zhì)的區(qū)別,只是需要包含有顯示出“HelloWorld!〞字符串的輸出語句。選擇“AnapplicationthatsupportsMFC〞項(xiàng)的話,可以利用VC6.0所提供的類庫來進(jìn)行編程。
為了更明白的看到編程的各個(gè)環(huán)節(jié),我們選擇“Anemptyproject〞項(xiàng),從一個(gè)空的工程
來開始我們的工作。單擊Finish按鈕,這時(shí)VC6.0會為你生成一個(gè)小型報(bào)告,報(bào)告的內(nèi)容是方才所有選擇項(xiàng)的總結(jié),并且詢問你是否接受這些設(shè)置。假使接受選擇OK按鈕,否則選擇Cancel按鈕。我們選OK從而可進(jìn)入到真正的編程環(huán)境下了。界面狀況如圖1-5所示。
圖1-5剛完成創(chuàng)立工程Sample的VC6.0集成開發(fā)環(huán)境窗口
2)在工作區(qū)窗口中查看工程的規(guī)律架構(gòu)
注意屏幕中的Workspace窗口,該窗口中有兩個(gè)標(biāo)簽,一個(gè)是ClassView,一個(gè)是FileView。ClassView中列出的是這個(gè)工程中所包含的所有類的有關(guān)信息,當(dāng)然我們的程序?qū)⒉簧婕暗?/p>
類,這個(gè)標(biāo)簽中現(xiàn)在是空空如也。點(diǎn)擊FileView標(biāo)簽后,將看到這個(gè)工程所包含的所有文件信息。點(diǎn)擊“+〞圖標(biāo)開啟所有的層次會發(fā)現(xiàn)有三個(gè)規(guī)律文件夾:SourceFiles文件夾中包含了工程中所有的源文件;HeaderFiles文件夾中包含了工程中所有的頭文件;ResourceFiles文件夾中包含了工程中所有的資源文件。所謂資源就是工程中所用到的位圖,加速鍵等信息,在我們的編程中不會牽扯到這一部分內(nèi)容。現(xiàn)在FileView中也不包含任何東西。規(guī)律文件夾是規(guī)律上的,他們只是在工程的配置文件中定義的,在磁盤上并沒有物理地存在這三個(gè)文件夾。我們也可以刪除自己不使用的規(guī)律文件夾;或者根據(jù)我們項(xiàng)目的需要,創(chuàng)立新的規(guī)律文件夾,來組織工程文件。這三個(gè)規(guī)律文件夾是VC預(yù)先定義的,就編寫簡單的單一源文件的C程序而言,我們只需要使用SourceFiles一個(gè)文件夾就夠了。
3)在工程中新建C源程序文件并輸入源程序代碼
下面該輪到生成一個(gè)“Hello.cpp〞的源程序文件,而后通過編輯界面來輸入所需的源程序代碼。選擇菜單Project中子菜單AddToProject下的new項(xiàng),在出現(xiàn)的對話框的Files標(biāo)簽(選項(xiàng)卡)中,選擇“C++SourceFile〞項(xiàng),在右中處的File文本框中為將要生成的文件取一個(gè)名字,我們?nèi)∶麨镠ello(其他遵照系統(tǒng)隱含設(shè)置,此時(shí)系統(tǒng)將使用Hello.cpp的文件來保存所鍵入的源程序),此時(shí)的界面狀況如圖1-6所示。
而后選擇OK按鈕,進(jìn)入輸入源程序的編輯窗口(注意所出現(xiàn)的浮現(xiàn)“閃爍〞狀態(tài)的輸入位置光標(biāo)),此時(shí)只需通過鍵盤輸入你所需要的源程序代碼:
1.2.3.4.#includevoidmain(){
printf(\);}
圖1-6在工程Sample中新建一個(gè)Hello.cpp源文件
可通過Workspace窗口中的FileView標(biāo)簽,看到SourceFiles文件夾下文件Hello.cpp已經(jīng)被加了進(jìn)去,此時(shí)的界面狀況如圖1-7所示。
圖1-7在Hello.cpp輸入C源程序代碼
實(shí)際上,這時(shí)在Workspace窗口的ClassView標(biāo)簽中的Globals文件夾下,也可以看到我們方才所鍵入的main函數(shù)。
VC6.0最快的方法:不創(chuàng)立工程,直接輸入源程序代碼
不需要象前面描述的那樣顯示地創(chuàng)新一個(gè)工程,對于新編寫一個(gè)程序,只需要在圖1-3所示的界面中,選“Files〞標(biāo)簽,再選擇“C++SourceFile〞,其界面與圖1-6相像(僅Addtoprojec是暗淡的、無法選擇),后續(xù)操作則與前述一致。
最簡單的做法是:直接使用工具欄上的新建文件按鈕新建一空白文件,緊接著單擊工具欄上的保存按鈕保存此空文件——注意,保存時(shí)一定要以“.c〞或“.cpp〞作為擴(kuò)展名,否則規(guī)律程序時(shí)自動格式化和特別顯示等好多特性將無法使用,程序無法被運(yùn)行。
這種方式新建的C源程序文件在編譯時(shí),會提醒用戶,要求允許系統(tǒng)為其創(chuàng)新一個(gè)默認(rèn)的工程(含相應(yīng)的工作區(qū))。
VC6.0編譯、鏈接以及運(yùn)行程序
程序編制完成(即所謂“四步曲〞中第一步的編輯工作得以完成)之后,就可以進(jìn)行后三步的編譯、鏈接與運(yùn)行了。所有后三步的命令項(xiàng)都處在菜單Build之中。注意,在對程序進(jìn)行編譯、鏈接和運(yùn)行前,最好先保存自己的工程(使用“File→SaveAll〞菜單項(xiàng))以避免程序運(yùn)行時(shí)系統(tǒng)發(fā)生意外而使自己之前的工作付之東流,應(yīng)讓這種做法成為自己的習(xí)慣、素質(zhì)。
首先選擇執(zhí)行菜單第一項(xiàng)Compile,此時(shí)將對程序進(jìn)行編譯。若編譯中發(fā)現(xiàn)錯(cuò)誤(error)或警告(warning),將在Output窗口中顯示出它們所在的行以及具體的出錯(cuò)或警告信息,可以通過這些信息的提醒來改正程序中的錯(cuò)誤或警告(注意,錯(cuò)誤是必需改正的,否則無法進(jìn)行下一步的鏈接;而警告則不然,它并不影響進(jìn)行下一步,當(dāng)然最好還是能把所有的警告也“消滅〞掉)。當(dāng)沒有錯(cuò)誤與警告出現(xiàn)時(shí),Output窗口所顯示的最終一行應(yīng)當(dāng)是:“Hello.obj-0error(s),0warning(s)〞。
圖1-8程序Hello.cpp的運(yùn)行結(jié)果界面
編譯通過后,可以選擇菜單的其次項(xiàng)Build來進(jìn)行鏈接生成可執(zhí)行程序。在鏈接中出現(xiàn)的錯(cuò)誤也將顯示到Output窗口中。鏈接成功后,Output窗口所顯示的最終一行應(yīng)當(dāng)是:“Sample.exe-0error(s),0warning(s)〞。最終就可以運(yùn)行(執(zhí)行)我們所編制的程序了,選擇Execute項(xiàng)(該選項(xiàng)前有一個(gè)深色的慨嘆號標(biāo)志“!〞,實(shí)際上也可通過單擊窗口上部工具欄中的深色慨嘆號標(biāo)志“!〞來啟動執(zhí)行該選項(xiàng)),VC6.0將運(yùn)行已經(jīng)編好的程序,執(zhí)行后將出現(xiàn)一個(gè)結(jié)果界面(所謂的類似于DOS窗口的界面),如圖1-8所示,其中的“pressanykeytocontinue〞是由系統(tǒng)產(chǎn)生的,使得用戶可以瀏覽輸出結(jié)果,直到按下了任一個(gè)鍵盤按鍵時(shí)為止(那時(shí)又將返回到集成界面的編輯窗口處)。
至此我們已經(jīng)生成并運(yùn)行(執(zhí)行)了一個(gè)完整的程序,完成了一個(gè)“回合〞的編程任務(wù)。此時(shí)應(yīng)執(zhí)行“File->CloseWorkspace〞菜單項(xiàng),待系統(tǒng)詢問是否關(guān)閉所有的相關(guān)窗口時(shí),
回復(fù)“是〞,則終止了一個(gè)程序從輸入到執(zhí)行的全過程,回到了剛剛啟動VC6.0的那一個(gè)初始畫面。
使用VC6.0及時(shí)備份自己的工程
1)備份整個(gè)工程
對于方才工作的工程Sample而言,只需將D:\\myData\\VC6下的文件夾Sample復(fù)制到U盤或打包成一個(gè)文件后放到自己的郵箱。需要在其它計(jì)算機(jī)上繼續(xù)完成該工程時(shí),將該文件夾復(fù)制到該計(jì)算機(jī)的硬盤上,進(jìn)入VC6,通過“File→OpenWorkspace〞菜單項(xiàng)將該工程開啟即可。
2)只備份C源程序文件
對于方才工作的工程Sample而言,工程十分簡單,沒有什么專門的設(shè)置,因此,僅備份其中的C源程序Hello.cpp就足矣。需要在其它計(jì)算機(jī)上繼續(xù)完成該程序時(shí),只需將備份的程序復(fù)制到該計(jì)算機(jī)的硬盤上,進(jìn)入VC6.0,根據(jù)前面的陳述,新建一個(gè)“Win32ConsoleApplication〞(做到圖1-5所示的界面),然后通過“Project->AddtoProject->Files〞菜單項(xiàng)將Hello.cpp添加新建的工程中。
最簡單的做法是:直接使用工具欄上的文件開啟按鈕“〞開啟Hello.cpp。
使用VC6.0發(fā)布自己的作品以讓他人使用
需要將自己設(shè)計(jì)的產(chǎn)品提供給他人使用時(shí),針對前述的Sample工程,只需將鏈接產(chǎn)生的可執(zhí)行文件Sample.exe復(fù)制/發(fā)送給他人即可,不能復(fù)制整個(gè)工程文件夾或復(fù)制.cpp文件,這是由于:
1)復(fù)制可執(zhí)行文件已足夠。
2)復(fù)制整個(gè)工程文件夾或復(fù)制.cpp文件,等于提供了自己的詳細(xì)設(shè)計(jì),在商業(yè)上一般是不這樣做了,除非事先雙方談妥需要這樣做或?qū)Ψ皆敢獬龈邇r(jià)購買你的詳細(xì)設(shè)計(jì)。
圖1-9選擇生成什么類型的可執(zhí)行程序
另外,應(yīng)當(dāng)說明的是:前面所說的編譯、鏈接過程都是Debug類型的,也就是說,當(dāng)VC6.0在進(jìn)行這些工作時(shí)將參與一些調(diào)試信息,致使編譯鏈接后生成的代碼很巨大,效率也降低。假使確信你的程序已經(jīng)完美無缺或者是要正式發(fā)布,就應(yīng)選中擇菜單Build中的BatchBuild項(xiàng),產(chǎn)生如圖1-9所示的對話框,其中的兩個(gè)選項(xiàng)分別代表編譯的代碼形式。假使選擇第一項(xiàng)Release,那么生成的就是最終代碼,其運(yùn)行效率會增高。
選擇“Sample-Win32Release〞項(xiàng),再進(jìn)行Build或RebuildAll就會在工程所在的目錄下產(chǎn)生一個(gè)新的目錄release,在release目錄下生成的可執(zhí)行程序代碼規(guī)模小,執(zhí)行效率高,是我們最終的產(chǎn)品。
VC6.0的常用菜單項(xiàng)
下面將介紹一下VC6.0菜單欄的部分菜單項(xiàng)。
1)File菜單
菜單項(xiàng)說明New開啟“new〞對話框,以便創(chuàng)立新的文件、工程或工作區(qū)。CloseWorkspace關(guān)閉與工作區(qū)相關(guān)的所有窗口。Exit退出VC6.0環(huán)境,將提醒保存窗口內(nèi)容等。2)Edit菜單
菜單項(xiàng)說明快捷鍵Ctrl+X。將選定內(nèi)容復(fù)制到剪貼板,然后再從當(dāng)前活動窗口中刪除所Cut選內(nèi)容。與“Paste〞聯(lián)合使用可以移動選定的內(nèi)容??旖萱ICtrl+C。將選定內(nèi)容復(fù)制到剪貼板,但不從當(dāng)前活動窗口中刪除所選Copy內(nèi)容。與“Paste〞聯(lián)合使用可以復(fù)制選定的內(nèi)容??旖萱ICtrl+V。將剪貼板中的內(nèi)容插入(粘貼)到當(dāng)前鼠標(biāo)指針?biāo)诘奈恢?。Paste注意,必需先使用Cut或Copy使剪貼板中具有準(zhǔn)備粘貼的內(nèi)容??旖萱ICtrl+F。在當(dāng)前文件中查找指定的字符串。順便指出,可按快捷鍵F3Find尋覓下一個(gè)匹配的字符串。FindinFiles在指定的多個(gè)文件中查找指定的字符串。
ReplaceGoTo快捷鍵Ctrl+H。替換指定的字符串(用某一個(gè)串替換另一個(gè)串)??旖萱ICtrl+G。將光標(biāo)移到指定行上??旖萱IAlt+F9。彈出對話框,用于設(shè)置、刪除或查看程序中的所有斷點(diǎn)。斷Breakpoints點(diǎn)將告訴調(diào)試器應(yīng)當(dāng)在何時(shí)何地暫停程序的執(zhí)行,以便查看當(dāng)時(shí)的變量取值等現(xiàn)場狀況。3)View菜單
菜單項(xiàng)說明Workspace假使工作區(qū)窗口沒顯示出來,選擇執(zhí)行該項(xiàng)后將顯示出工作區(qū)窗口。假使輸出窗口沒顯示出來,選擇執(zhí)行該項(xiàng)后將顯示出輸出窗口。輸出窗口中將Output隨時(shí)顯示有關(guān)的提醒信息或出錯(cuò)警告信息等。4)Project菜單
菜單項(xiàng)說明選擇該項(xiàng)將彈出子菜單,用于添加文件或數(shù)據(jù)鏈接等到工程之中去。例如子菜AddTo單中的New選項(xiàng)可用于添加“C++SourceFile〞或“C/C++HeaderFile〞;Project而子菜單中的Files選項(xiàng)則用于插入已有的文件到工程中。為工程進(jìn)行各種不同的設(shè)置。選中擇其中的“Debug〞標(biāo)簽(選項(xiàng)卡),并通過Settings在“Programarguments:〞文本框中填入以空格分割的各命令行參數(shù)后,則可以為帶參數(shù)的main函數(shù)提供相應(yīng)參數(shù)(呼應(yīng)于“voidmain(intargc,char*argv[]){…}〞形式的main函數(shù)中所需各argv數(shù)組的各字符串參數(shù)值)。注意,在執(zhí)行帶參數(shù)的main函數(shù)之前,必需進(jìn)行該設(shè)置,當(dāng)“Programarguments:〞文本框中為空時(shí),意味著無命令行參數(shù)。5)Build菜單
菜單項(xiàng)說明快捷鍵Ctrl+F7。編譯當(dāng)前處于源代碼窗口中的源程序文件,以便檢查是否有語Compile法錯(cuò)誤或警告,假使有的話,將顯示在Output輸出窗口中??旖萱IF7。對當(dāng)前工程中的有關(guān)文件進(jìn)行連接,若出現(xiàn)錯(cuò)誤的話,也將顯示在BuildOutput輸出窗口中。Execute快捷鍵Ctrl+F5。運(yùn)行(執(zhí)行)已經(jīng)編譯、連接成功的可執(zhí)行程序(文件)。選擇該項(xiàng)將彈出子菜單,其中含有用于啟動調(diào)試器運(yùn)行的幾個(gè)選項(xiàng)。例如其中的Go選項(xiàng)用于從當(dāng)前語句開始執(zhí)行程序,直到遇到斷點(diǎn)或遇到程序終止;StepInto選項(xiàng)開始單步執(zhí)行程序,并在遇到函數(shù)調(diào)用時(shí)進(jìn)入函數(shù)內(nèi)部再從頭單步執(zhí)Start行;RuntoCursor選項(xiàng)使程序運(yùn)行到當(dāng)前鼠標(biāo)光標(biāo)所在行時(shí)暫停其執(zhí)行(注意,Debug使用該選項(xiàng)前,要先將鼠標(biāo)光標(biāo)設(shè)置到某一個(gè)你希望暫停的程序行處)。執(zhí)行該菜單的選擇項(xiàng)后,就啟動了調(diào)試器,此時(shí)菜單欄中將出現(xiàn)Debug菜單(而取代了Build菜單)。(6)Debug菜單
啟動調(diào)試器后才出現(xiàn)該Debug菜單(而不再出現(xiàn)Build菜單)。
菜單項(xiàng)說明快捷鍵F5。從當(dāng)前語句啟動繼續(xù)運(yùn)行程序,直到遇到斷點(diǎn)或遇到程序結(jié)Go束而中止(與Build->StartDebug->Go選項(xiàng)的功能一致)。快捷鍵Ctrl+Shift+F5。重新從頭開始對程序進(jìn)行調(diào)試執(zhí)行(當(dāng)對程序Restart做過某些修改后往往需要這樣做)。選擇該項(xiàng)后,系統(tǒng)將重新裝載程序到內(nèi)存,并放棄所有變量的當(dāng)前值(而重新開始)??旖萱IShift+F5。中斷當(dāng)前的調(diào)試過程并返回正常的編輯狀態(tài)(注意,StopDebugging系統(tǒng)將自動關(guān)閉調(diào)試器,并重新使用Build菜單來取代Debug菜單)??旖萱IF11。單步執(zhí)行程序,并在遇到函數(shù)調(diào)用語句時(shí),進(jìn)入那一函數(shù)StepInto內(nèi)部,并從頭單步執(zhí)行(與Build->StartDebug->StepInto選項(xiàng)的功能一致)。快捷鍵F10。單步執(zhí)行程序,但當(dāng)執(zhí)行到函數(shù)調(diào)用語句時(shí),不進(jìn)入那一StepOver函數(shù)內(nèi)部,而是一步直接執(zhí)行完該函數(shù)后,接著再執(zhí)行函數(shù)調(diào)用語句后面的語句??旖萱IShift+F11。與“StepInto〞協(xié)同使用,當(dāng)執(zhí)行進(jìn)入到函數(shù)內(nèi)部,StepOut單步執(zhí)行若干步之后,若發(fā)現(xiàn)不再需要進(jìn)行單步調(diào)試的話,通過該選項(xiàng)可以從函數(shù)內(nèi)部返回(到函數(shù)調(diào)用語句的下一語句處中止)。快捷鍵Ctrl+F10。使程序運(yùn)行到當(dāng)前鼠標(biāo)光標(biāo)所在行時(shí)暫停其執(zhí)行(注RuntoCursor意,使用該選項(xiàng)前,要先將鼠標(biāo)光標(biāo)設(shè)置到某一個(gè)你希望暫停的程序行處)。事實(shí)上,相當(dāng)于設(shè)置了一個(gè)臨時(shí)斷點(diǎn),與Build->StartDebug->RuntoCursor選項(xiàng)的功能一致。快捷鍵F9。本菜單項(xiàng)并未出現(xiàn)在Debug菜單上(在工具欄和程序文檔的上下文關(guān)聯(lián)菜單上),列在此處是為了便利大家把握程序調(diào)試的手段,Insert/Remove其功能是設(shè)置或取消固定斷點(diǎn)——程序行前有一個(gè)圓形的黑點(diǎn)標(biāo)志,表Breakpoint示已經(jīng)該行設(shè)置了固定斷點(diǎn)。另外,與固定斷點(diǎn)相關(guān)的還有Alt+F9(管理程序中的所有斷點(diǎn))、Ctrl+F9(禁用/使能當(dāng)前斷點(diǎn))。7)Help菜單
通過該菜單來查看VC6.0的各種聯(lián)機(jī)幫助信息。
8)上下文關(guān)聯(lián)菜單
除了主菜單和工具欄外,VC6.0開發(fā)環(huán)境還提供了大量的上下文關(guān)聯(lián)菜單,用鼠標(biāo)右鍵的單擊窗口中好多地方都會彈出一個(gè)關(guān)聯(lián)菜單,里面包含有與被單擊項(xiàng)目相關(guān)的各種命令,建議大家在工作時(shí)可以試著多點(diǎn)點(diǎn)鼠標(biāo)右鍵,說不定會發(fā)現(xiàn)好多有用的命令,從而大大加快一些常規(guī)操作的速度。
VC6.0的主要工作窗口
1)Workspace窗口
Workspace窗口顯示了當(dāng)前工作區(qū)中各個(gè)工程的類、資源和文件信息,當(dāng)新建或開啟一個(gè)工作區(qū)后,Workspace窗口尋常就會出現(xiàn)三個(gè)樹視圖:ClassView(類視圖)、ResourceView(資源視圖)和FileView(文件視圖),假使在VC6.0企業(yè)版中開啟了數(shù)據(jù)庫工程,還會出現(xiàn)第四個(gè)視圖DataView(數(shù)據(jù)視圖)。宛如前面所述,在Workspace窗口的各
個(gè)視圖內(nèi)單擊鼠標(biāo)右鍵可以得到好多有用的關(guān)聯(lián)菜單。
ClassView顯示當(dāng)前工作區(qū)中所有工程定義的C++類、全局函數(shù)和全局變量,展開每一個(gè)類后,可以看到該類的所有成員函數(shù)和成員變量,假使雙擊類的名字,VC6.0會自動開啟定義這個(gè)類的文件,并把文檔窗口定位到該類的定義處,假使雙擊類的成員或者全局函數(shù)及變量,文檔窗口則會定位到相應(yīng)函數(shù)或變量的定義處。
ResourceView顯示每個(gè)工程中定義的各種資源,包括快捷鍵、位圖、對話框、圖標(biāo)、菜單、字符串資源、工具欄和版本信息,假使雙擊一個(gè)資源項(xiàng)目,VC6.0就會進(jìn)入資源編輯狀態(tài),開啟相應(yīng)的資源,并根據(jù)資源的類型自動顯示出Graphics、Color、Dialog、Controls等??渴酱翱?。
FileView顯示了隸屬于每個(gè)工程的所有文件。除了C/C++源文件、頭文件和資源文件外,我們還可以向工程中添加其它類型的文件,例如Readme.txt等,這些文件對工程的編譯連接不是必需的,但將來制作安裝程序時(shí)會被一起打包。同樣,在FileView中雙擊源程序等文本文件時(shí),VC6.0會自動為該文件開啟一個(gè)文檔窗口,雙擊資源文件時(shí),VC6.0也會自動開啟其中包含的資源。
在FileView中對著一個(gè)工程單擊鼠標(biāo)右鍵后,關(guān)聯(lián)菜單中有一個(gè)“Clean〞命令,在此特地要解釋一下它的功能:VC6.0在建立(Build)一個(gè)工程時(shí),會自動生成好多中間文件,例如預(yù)編譯頭文件、程序數(shù)據(jù)庫文件等,這些中間文件加起來的大小往往有數(shù)兆,好多人在開發(fā)一個(gè)軟件期間會使用辦公室或家里的數(shù)臺機(jī)器,假使不把這些中間文件刪除,在多臺機(jī)器
之間使用軟盤拷貝工程就很麻煩?!癈lean〞命令的功能就是把VC6生成的中間文件全部刪除,避免了手工刪除時(shí)可能會出現(xiàn)誤刪或漏刪的問題。另外,在某些狀況下,VC6編譯器可能無法正確識別哪些文件已被編譯過了,以致于在每次建立工程時(shí)都進(jìn)行完全重建,很浪費(fèi)時(shí)間,此時(shí)使用“Clean〞命令刪除掉中間文件就可以解決這一問題。
應(yīng)當(dāng)指出,承載一個(gè)工程的還是存儲在工作文件夾下的多個(gè)文件(物理上),在Workspace窗口中的這些視圖都是規(guī)律意義上的,它們只是從不同的角度去自動統(tǒng)計(jì)總結(jié)了工程的信息,以便利和幫助我們查看工程、更有效地開展工作。假使開始時(shí)你不習(xí)慣且工程很簡單(學(xué)習(xí)期間好多時(shí)候都只有一個(gè).cpp文件),則你完全沒有必要去搭理這些視圖,只需要在.cpp文件內(nèi)容窗口中工作。
2)Output窗口
與Workspace窗口一樣,Output窗口也被分成了數(shù)欄,其中前面4欄最常用。在建立工程時(shí),Build欄將顯示工程在建立過程中經(jīng)過的每一個(gè)步驟及相應(yīng)信息,假使出現(xiàn)編譯連接錯(cuò)誤,那么發(fā)生錯(cuò)誤的文件及行號、錯(cuò)誤類型編號和描述都會顯示在Build欄中,用鼠標(biāo)雙擊一條編譯錯(cuò)誤,VC6就會開啟相應(yīng)的文件,并自動定位到發(fā)生錯(cuò)誤的那一條語句。
工程通過編譯連接后,運(yùn)行其調(diào)試版本,Debug欄中會顯示出各種調(diào)試信息,包括DLL裝載狀況、運(yùn)行時(shí)警告及錯(cuò)誤信息、MFC類庫或程序輸出的調(diào)試信息、進(jìn)程中止代碼等。
兩個(gè)FindinFiles欄用于顯示從多個(gè)文件中查找字符串后的結(jié)果,當(dāng)你想看看某個(gè)函數(shù)或變量出現(xiàn)在哪些文件中,可以從“Edit〞菜單中選擇“FindinFiles…〞命令,然后指定要
查找的字符串、文件類型及路徑,按“查找〞后結(jié)果就會輸出在Output的FindinFiles欄中。
3)窗口布局調(diào)整
VC6的智能化界面允許用戶靈活配置窗口布局,例如菜單和工具欄的位置都可以重新定位。讓我們在菜單或工具欄左方類似于把手的兩個(gè)豎條紋處或其它空白處點(diǎn)擊鼠標(biāo)左鍵并按住,然后試試把它拖動到窗口的不同地方,就可以發(fā)現(xiàn)菜單和工具欄能夠停靠在窗口的上方、左方和下方,雙擊豎條紋后,它們還能以獨(dú)立子窗口的形式出現(xiàn),獨(dú)立子窗口能夠始終浮動在文檔窗口的上方,并且可以被拖到VC6主窗口之外,假使有雙顯示器,甚至可以把這些子窗口拖到另外一個(gè)顯示器上,以便進(jìn)一步加大編輯區(qū)域的面積。Workspace和Output等??渴酱翱?DockingView)也能以一致的方式進(jìn)行拖動,或者切換成獨(dú)立的子窗口,此外,這些停靠式窗口還可以切換成普通的文檔窗口模式,不過文檔窗口不能被拖出VC6的主窗口,切換的方法是選中某個(gè)??渴酱翱诤螅凇癢indows〞菜單中把“DockingView〞置于非選中狀態(tài)。
什么時(shí)候需要對C語言程序進(jìn)行調(diào)試
所謂程序調(diào)試,是指當(dāng)程序的工作狀況(運(yùn)行結(jié)果)與設(shè)計(jì)的要求不一致——尋常是程序的運(yùn)行結(jié)果不對時(shí),科學(xué)地(而不是憑偶然的運(yùn)氣)通過一定的方法、使用一定的手段來檢查程序中存在的設(shè)計(jì)問題(某種規(guī)律錯(cuò)誤而不是語法、鏈接錯(cuò)誤,修正語法、鏈接錯(cuò)誤不是調(diào)試程序要做的事)。
當(dāng)程序編譯出錯(cuò)或者鏈接出錯(cuò)時(shí),系統(tǒng)都將在Output輸出窗口中隨時(shí)顯示出有關(guān)的提醒信息或出錯(cuò)警告信息等(假使是編譯出錯(cuò),只要雙擊Output窗口中的出錯(cuò)信息就可以自動跳
到出錯(cuò)的程序行,以便細(xì)心查找)。但若編譯和鏈接都正確,而執(zhí)行結(jié)果又總是不正確時(shí),這時(shí)就需要使用調(diào)試工具來幫著
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版星巴克加盟店設(shè)備維護(hù)合同
- 個(gè)人影視作品版權(quán)轉(zhuǎn)讓合同(2024版)3篇
- 2024示范文本:二手車買賣合同車輛安全檢測規(guī)范2篇
- 2024試乘試駕活動電子合同范本12篇
- 2025年度二手吊車評估與交易中介合同3篇
- 項(xiàng)目建議書(含設(shè)計(jì)任務(wù)書)及可行性研究報(bào)告編制技術(shù)咨詢合同模板
- 2025年度碼頭船舶??颗c貨物倉儲一體化租賃合同4篇
- 2025年度臨時(shí)醫(yī)療護(hù)理人員派遣服務(wù)合同4篇
- 2025年稅務(wù)顧問服務(wù)合同協(xié)議書適用于企業(yè)集團(tuán)6篇
- 眾維重工2025年度鋼結(jié)構(gòu)建筑工程智能化控制系統(tǒng)采購合同2篇
- 《穿越迷宮》課件
- 《C語言從入門到精通》培訓(xùn)教程課件
- 2023年中國半導(dǎo)體行業(yè)薪酬及股權(quán)激勵(lì)白皮書
- 2024年Minitab全面培訓(xùn)教程
- 社區(qū)電動車棚新(擴(kuò))建及修建充電車棚施工方案(純方案-)
- 項(xiàng)目推進(jìn)與成果交付情況總結(jié)與評估
- 鐵路項(xiàng)目征地拆遷工作體會課件
- 醫(yī)院死亡報(bào)告年終分析報(bào)告
- 建設(shè)用地報(bào)批服務(wù)投標(biāo)方案(技術(shù)方案)
- 工會工作人年度考核個(gè)人總結(jié)
- 上海民辦楊浦實(shí)驗(yàn)學(xué)校初一新生分班(摸底)語文考試模擬試卷(10套試卷帶答案解析)
評論
0/150
提交評論