- 相關(guān)推薦
在VS下如何運(yùn)行C語(yǔ)言程序
微軟后來(lái)對(duì)VC6.0進(jìn)行了升級(jí),并更名為Visual Studio(簡(jiǎn)稱(chēng)VS),支持更多的編程語(yǔ)言,更加強(qiáng)大的功能,不過(guò) Visual Studio 文件很大,有2~3G左右,大部分功能初學(xué)者暫時(shí)不會(huì)用到;而且安裝繁瑣,需要將近半個(gè)小時(shí)的時(shí)間,也不容易卸載干凈。
Visual Studio 還有一個(gè)缺點(diǎn)是占用資源較多,不建議配置低的機(jī)器使用。
當(dāng)然,如果你希望進(jìn)行Windows開(kāi)發(fā),追求強(qiáng)大的功能,擁有良好的網(wǎng)絡(luò)和高配的機(jī)器,那么 Visual Studio 也是一個(gè)很好的選擇。
VS由微軟鼎力支持,經(jīng)常發(fā)布新版本,目前使用較多的版本有VS2010、VS2012、VS2013、VS2015等,它們都可以在XP、Win7下運(yùn)行,但老版本在Win8、Win10下可能會(huì)存在兼容性問(wèn)題,建議使用VS2013或VS2015。
下面以VS2010為例講解,其他版本與此類(lèi)似。
VS2010的下載
Visual Studio 2010 Ultimate(旗艦版)(包含Key)下載地址:
迅雷下載:ed2k://|file|cn_visual_studio_2010_ultimate_x86_dvd_532347.iso|2685982720|4AE6228933DDE49D9BFA4C3467C831C2|/
百度網(wǎng)盤(pán):http://pan.baidu.com/s/1i3lGZ0x 提取密碼:gs1v
安裝的時(shí)候需要使用虛擬光驅(qū),例如精靈虛擬光驅(qū)(Daemon Tools Lite)等。
在VS2010下運(yùn)行C語(yǔ)言
VS不支持單個(gè)源文件的編譯,必須先創(chuàng)建項(xiàng)目(Project)再添加源文件。項(xiàng)目和工程是單詞 Project 的不同翻譯而已,實(shí)際上是同一個(gè)概念。
1) 創(chuàng)建Windows控制臺(tái)應(yīng)用程序
Windows控制臺(tái)應(yīng)用程序是Win32 Console Application的中文翻譯。打開(kāi)VS2010,在菜單中選擇“文件 -> 新建 -> 項(xiàng)目”,或者 Ctrl+Shift+N,彈出下面的對(duì)話框:
選擇“Win32控制臺(tái)應(yīng)用程序”,填寫(xiě)項(xiàng)目名稱(chēng)和位置,點(diǎn)擊”確定“按鈕,填出向?qū)?duì)話框:
點(diǎn)擊“下一步”按鈕,彈出新的對(duì)話框:
先取消“預(yù)編譯頭”,再勾選“空項(xiàng)目”,然后點(diǎn)擊“完成”按鈕就創(chuàng)建了一個(gè)新的項(xiàng)目。
2) 添加C源文件
在“源文件”處右擊鼠標(biāo),在彈出菜單中選擇“添加 -> 新建項(xiàng)”:
或者按下 Ctrl+Shift+A 組合鍵,都會(huì)彈出添加源文件的對(duì)話框。
在“代碼”分類(lèi)中選擇“C++文件(.cpp)”,填寫(xiě)文件名,點(diǎn)擊“添加”按鈕就添加了一個(gè)新的源文件。
3) 添加代碼并運(yùn)行程序
將前兩節(jié)給出的C語(yǔ)言代碼添加到 hello.c 中,點(diǎn)擊“運(yùn)行”按鈕,或者按下F5鍵,就可以完成程序的編譯、鏈接和運(yùn)行。如下圖所示:
需要注意的是,在VS中創(chuàng)建項(xiàng)目會(huì)默認(rèn)創(chuàng)建解決方案。VS中的“解決方案”和VC6.0中的“工作區(qū)”是一個(gè)概念,解決方案可以包含多個(gè)項(xiàng)目,并能夠批量生成。
拓展知識(shí):
1、代碼段(code或text)
代碼段由各個(gè)函數(shù)產(chǎn)生,函數(shù)的每一個(gè)語(yǔ)句將最終經(jīng)過(guò)編繹和匯編生成二進(jìn)制機(jī)器代碼(具體生生哪種體系結(jié)構(gòu)的機(jī)器代碼由編譯器決定)。
2、只讀數(shù)據(jù)段(ROData)
只讀數(shù)據(jù)段由程序中所使用的數(shù)據(jù)產(chǎn)生,該部分?jǐn)?shù)據(jù)的特點(diǎn)是在運(yùn)行中不需要改變,因此編譯器會(huì)將該數(shù)據(jù)段放入只讀的部分中。C語(yǔ)言中的只讀全局變量,只讀局部變量,程序中使用的常量等會(huì)在編譯時(shí)被放入到只讀數(shù)據(jù)區(qū)。
注意:定義全局變量constchara[100]={"ABCDEFG"};將生成大小為100個(gè)字節(jié)的只讀數(shù)據(jù)區(qū),并使用“ABCDEFG”初始化。如果定義為:constchara[]={"ABCDEFG"};則根據(jù)字符串長(zhǎng)度生成8個(gè)字節(jié)的只讀數(shù)據(jù)段(還有’’),所以在只讀數(shù)據(jù)段中,一般都需要做完全的初始化。
3、讀寫(xiě)數(shù)據(jù)段(RWData)
讀寫(xiě)數(shù)據(jù)段表示了在目標(biāo)文件中一部分可以讀也可以寫(xiě)的數(shù)據(jù)區(qū),在某些場(chǎng)合它們又被稱(chēng)為已初始化數(shù)據(jù)段,這部分?jǐn)?shù)據(jù)段和代碼段,與只讀數(shù)據(jù)段一樣都屬于程序中的靜態(tài)區(qū)域,但具有可寫(xiě)性的特點(diǎn)。通常已初始化的全局變量和局部靜態(tài)變量被放在了讀寫(xiě)數(shù)據(jù)段,如:在函數(shù)中定義staticcharb[100]={“ABCDEFG”};讀寫(xiě)數(shù)據(jù)區(qū)的特點(diǎn)是必須在程序經(jīng)過(guò)初始化,如果只定義,沒(méi)初始值,則不會(huì)生成讀寫(xiě)數(shù)據(jù)區(qū),而會(huì)定位為未初始化數(shù)據(jù)區(qū)(BSS)。如果全局變量(函數(shù)外部定義的變量)加入static修飾,這表示只能在文件內(nèi)使用,而不能被其他文件使用。
4、未初始化數(shù)據(jù)段(BSS)
與讀寫(xiě)數(shù)據(jù)段類(lèi)似,它也屬于靜態(tài)數(shù)據(jù)區(qū),但是該段中的數(shù)據(jù)沒(méi)有經(jīng)過(guò)初始化。因此它只會(huì)在目標(biāo)文件中被標(biāo)識(shí),而不會(huì)真正稱(chēng)為目標(biāo)文件中的一段,該段將會(huì)在運(yùn)行時(shí)產(chǎn)生。未初始化數(shù)據(jù)段只在運(yùn)行的初始化階段才會(huì)產(chǎn)生,因此它的大小不會(huì)影響目標(biāo)文件的大小。
【在VS下如何運(yùn)行C語(yǔ)言程序】相關(guān)文章:
如何在Linux下運(yùn)行C語(yǔ)言程序10-14
在VC6.0下如何運(yùn)行C語(yǔ)言程序09-27
怎么在Linux下運(yùn)行C語(yǔ)言程序06-08
如何運(yùn)行C++程序08-28
怎么在Dev C++下運(yùn)行C語(yǔ)言09-18
用visual c++ 運(yùn)行C語(yǔ)言程序的過(guò)程08-31
Linux下編譯C語(yǔ)言程序11-02