



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一個C+程序,C+程序的結(jié)構(gòu) 創(chuàng)建源程序 編譯、連接和運行程序,C+程序的結(jié)構(gòu),每個C+程序都由一個或多個文件組成。根據(jù)約定,用于存儲源代碼的文件有兩類:頭文件和源文件。 圖1.13中展示了C+程序的一般結(jié)構(gòu):,從圖1.14中可以看到,一個完整的程序其中還可能包含一些資源文件,例如:字符串資源、控件資源等等。,圖1.13 C+程序結(jié)構(gòu),圖1.14 C+程序文件,【范例1-1】通過從一個最簡單的程序入手看一個C+程序的組成結(jié)構(gòu),創(chuàng)建源程序,下面介紹使用VC+6.0創(chuàng)建一個控制臺源程序工程的一般步驟: 啟動VC+ 6.0,單擊Projects選項卡,在列表框中選擇Win32 Console Ap
2、plication,在Project name文本框中輸入工程名helloworld,然后在Location文本框輸入該工程名所在的文件夾。如圖1.7所示。單擊OK按鈕。在Win32 Console Application Step 1 of 1對話框中選擇“A simple application”選項。如圖1.8所示。最后單擊Finish按鈕。創(chuàng)建一個簡單控制臺的工程完成。,圖1.15 選擇工程類型和設(shè)置工程名以及工程路徑,圖1.16 控制臺類型選擇,編譯、連接和運行程序,從C+源代碼中創(chuàng)建可以執(zhí)行的程序模塊需要兩步。第一步是編譯器把每個.cpp文件轉(zhuǎn)換為對象文件,其中包含了與源文件內(nèi)容對
3、應(yīng)的機器碼。第二步是鏈接程序把編譯器生成的對象文件合并到包含完整可執(zhí)行程序的文件中。 實際上,編譯是一個迭代的過程,因為在源代碼中總是會有輸入錯誤或其他錯誤。更正了每個源文件中的這些錯誤后,就可以進入鏈接步驟,但在這一步可能會發(fā)現(xiàn)有更多的錯誤。即使鏈接步驟生成了可執(zhí)行模塊,程序仍有可能包含邏輯錯誤,即程序沒有生成希望的結(jié)果。為了更正這些錯誤,必須回過頭來修改源代碼,再編譯。這個過程會繼續(xù)下去,直到程序按照希望的那樣執(zhí)行為止。如果程序的執(zhí)行結(jié)果不象我們宣稱的那樣,其他人就有可能找到程序編寫者本應(yīng)發(fā)現(xiàn)的許多錯誤,這是毋庸置疑的。一般說來,如果程序非常大,就總是包含錯誤。 下面詳細討論一下這兩個基本
4、步驟(即編譯和鏈接): (1)編譯:源文件的編譯過程包含兩個主要階段,第一個階段是預(yù)處理階段,在正式的編譯階段之前進行。預(yù)處理階段將根據(jù)已放置在文件中的預(yù)處理指令來修改源文件的內(nèi)容。#include指令就是一個預(yù)處理指令,它把頭文件的內(nèi)容添加到.cpp文件中。還有其他許多預(yù)處理指令。,編譯、連接和運行程序,通常,一個環(huán)境需要的代碼跟另一個環(huán)境所需的代碼可能有所不同,因為可用的硬件或操作系統(tǒng)是不同的。在許多情況下,可以把用于不同環(huán)境的代碼放在同一個文件中,再在預(yù)處理階段修改代碼,使之適應(yīng)當前的環(huán)境。 (2)鏈接:編譯器為給定源文件輸出的是機器碼,執(zhí)行這個過程需要較長時間。對應(yīng)于某個源文件的對象文
5、件包含在其他源文件中定義的函數(shù)引用或其他指定項的引用,而這些函數(shù)或項仍沒有被解析。同樣,也沒有建立同庫函數(shù)的鏈接。實際上,這些函數(shù)的代碼并不是文件的一部分。這些工作是由鏈接程序(有時稱為鏈接編輯器)完成的。 鏈接程序把所有對象文件中的機器碼組合在一起,并解析它們之間的交叉引用。它還集成了對象模塊所使用的庫函數(shù)的代碼。這是鏈接程序的一種簡化表示,因為這里假定在可執(zhí)行模塊中,模塊之間的所有鏈接都是靜態(tài)建立的。實際上有些鏈接是動態(tài)的,即這些鏈接是在程序執(zhí)行時建立的。 鏈接程序靜態(tài)地建立函數(shù)之間的鏈接,即在程序執(zhí)行之前建立組成程序的源文件中所包含的函數(shù)鏈接。動態(tài)建立的函數(shù)之間的鏈接(在程序執(zhí)行過程中建立的
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育技術(shù)的創(chuàng)新發(fā)展與個性化設(shè)計的思維實踐
- 教育大數(shù)據(jù)洞察市場精準營銷
- 以教學(xué)為目的的數(shù)字技術(shù)與創(chuàng)意應(yīng)用結(jié)合的實踐研究
- 以實踐為導(dǎo)向的終身學(xué)習(xí)體系設(shè)計策略
- 重復(fù)專利侵權(quán)培訓(xùn)課件
- 抖音商戶運營經(jīng)理直播庫存同步制度
- 抖音商戶短視頻轉(zhuǎn)化效果分析反饋制度
- 培訓(xùn)課件的布局要求
- 全球鈾礦資源分布特點及2025年核能產(chǎn)業(yè)產(chǎn)業(yè)鏈分析報告
- 公交優(yōu)先戰(zhàn)略下2025年城市交通擁堵治理的公共交通運營效率研究
- T/CACE 009-2017清潔生產(chǎn)管理體系要求
- 2025年兒童心理學(xué)基礎(chǔ)知識考試卷及答案
- 2024年內(nèi)蒙古公安廳招聘警務(wù)輔助人員真題
- AI音樂概論知到智慧樹期末考試答案題庫2025年四川音樂學(xué)院
- 混凝土銷售技能培訓(xùn)課件
- 《基于價值鏈的企業(yè)分拆上市動因及效果研究的國內(nèi)外文獻綜述》6700字
- 顧問框架合同協(xié)議
- 2025小學(xué)道德與法治教師課標練習(xí)卷簡答題100題及答案
- 吉林省2025年初三中考測試(一)生物試題含解析
- DB33T 1376-2024鄉(xiāng)鎮(zhèn)(街道)應(yīng)急消防管理站建設(shè)與運行規(guī)范
- 無人機吊裝作業(yè)安全管理
評論
0/150
提交評論