一般情況下,c++編程方式編寫的程序源代碼量小,但編譯后的代碼量較大,運(yùn)行的速度略低,不過開發(fā)時(shí)的工作量和工作難度較小;而c編程方式編寫的源代碼量較大,但可執(zhí)行的效率高.如果一些對(duì)速度要求高,尤其是對(duì)硬件操作較多的程序,大多數(shù)還是用c編程方式開發(fā)的(用C又比用匯編簡(jiǎn)單,易于實(shí)現(xiàn)).另外,學(xué)Win32 C程序設(shè)計(jì)還有助于更深入地了解Windows 的內(nèi)幕和Win32 API。
任何的編程語言都是一種工具,學(xué)習(xí)語言的目是要使用它來編寫出實(shí)際需要的軟件來,而軟件作為一個(gè)用戶程序,運(yùn)行時(shí)要依賴操作系統(tǒng),大多數(shù)人使用什么操作系統(tǒng),我們就要編寫出基于哪一種平臺(tái)上的程序來.這樣,軟件才會(huì)有更大的市場(chǎng)。
現(xiàn)在市面上出現(xiàn)的有關(guān)c語言方面的書大多是教授DOS下的c,上機(jī)實(shí)習(xí)也是在Turbo C 2.0(簡(jiǎn)稱Tc)環(huán)境下轉(zhuǎn)來轉(zhuǎn)去.編程環(huán)境的單調(diào)總使人感到不爽.這也沒辦法,dos 下的c是最簡(jiǎn)單的,初學(xué)者當(dāng)然要從最簡(jiǎn)單的入門啦.連比較有名的計(jì)算機(jī)專家譚浩強(qiáng)編的書也都是贊成從dos下的c學(xué)起的.再說,一個(gè)剛剛?cè)腴T的人想在windows 這樣的多進(jìn)程,多線程的操作系統(tǒng)下用c編程,那似乎又不太現(xiàn)實(shí).(那要了解在windows下,一個(gè)win32程序大體上是怎樣執(zhí)行的.要對(duì)系統(tǒng)有比較多的了解才行,一個(gè)初學(xué)者暫時(shí)還不具備那么多的知識(shí))但我們的腳步又不能夠只停留在dos里,應(yīng)該積極地從dos向windows轉(zhuǎn)變.在dos的時(shí)代,我們可以對(duì)dos下的編程迷戀,但現(xiàn)在都是windows橫行霸道的時(shí)代了,我們就應(yīng)用c語言編寫windows平臺(tái)上的程序,因時(shí)而變,學(xué)以致用.是時(shí)代使然!如果現(xiàn)在還是dos雄霸天下的話,那我就不會(huì)寫這篇狗屁不通的文章來遺笑大方了,不被臭雞蛋扔死才怪呢!
"變法"是大勢(shì)所趨的了,關(guān)鍵是怎么變,不單單是學(xué)習(xí)c語言的人如此,就連學(xué)c++的人都這樣,筆者曾經(jīng)在QQ上碰到一個(gè)學(xué)了c++將近一年的小伙,居然問我,他想編一個(gè)windows窗口,該怎么下手,如果學(xué)一門語言用了一年時(shí)間,只是學(xué)了一點(diǎn)語法知識(shí),卻沒有編過一道程序,那實(shí)在是一種悲哀.下面我談?wù)剰膁os向windows轉(zhuǎn)變的一些個(gè)人見解,(這純屬個(gè)人觀點(diǎn),僅供參考,如果您已是高手,完全不必要在此浪費(fèi)時(shí)間):
一.拓寬視野,改變偏見
別老以為c只是dos特有的東西,一提到c語言就認(rèn)為c只能在dos下編程.其實(shí),這是被tc束縛了意識(shí),我們?cè)趯W(xué)校里平時(shí)就只在dos的tc里面用c編程,很少用到"圖形模式",整天面對(duì)?quot;烏黑黑"的屏幕,也難怪有些人一看到一個(gè)用c語言描繪出來的像windows的窗口便以為是c++的手筆.其實(shí),作為一種語言,可以在任何一種平臺(tái)上編程,只是接口不同而已,只要找到適合該平臺(tái)的編程工具即可,c語言當(dāng)然也能在windows下大放異彩.眼界放寬點(diǎn),改變偏見,必有精彩發(fā)現(xiàn).
二.選擇優(yōu)秀的編程工具.
“有好的工具,做起事來就事半功倍”.在dos下我們常用tc或bc(borland c).在windows下可以用c++builder 或者visual c++ 來編程,最好用visual c++ 畢竟是微軟的東西嘛!微軟一天不垮臺(tái),編程者的飯碗就不會(huì)掉的啦 ^_^ .再說,windows操作系統(tǒng)是微軟出的,其內(nèi)幕微軟是最清楚不過的了,在應(yīng)用程序接口上,相信vc也是做得最好的.不過用vc++6來編c程序會(huì)恨煩的,大家要有心理準(zhǔn)備.同時(shí)可以選擇多種編程工具,例如匯編,可以加強(qiáng)對(duì)windows的了解,是成為高手的好方法。
三.加強(qiáng)對(duì)windows的了解.
可以說編一個(gè)程序,就是用一種語言的語法形式將數(shù)據(jù)結(jié)構(gòu)和表面的執(zhí)行過程描述出來.在不同的操作系統(tǒng)下,其程序的執(zhí)行過程是不同的.我們應(yīng)該對(duì)windows的系統(tǒng)機(jī)制最起碼有個(gè)大體的了解,才有可能編寫windows的程序.dos是單進(jìn)程單線程的系統(tǒng),進(jìn)程從頭到尾的順序執(zhí)行,而windows是多進(jìn)程、多線程的操作系統(tǒng),是基于事件的,消息驅(qū)動(dòng)的操作系統(tǒng).明白這些是在windows下編程必不可少的,多學(xué)學(xué)它,你會(huì)發(fā)現(xiàn)windows 和 dos有很多的不同之處。
四.采取靈活多變的學(xué)習(xí)方法.
在不同的時(shí)期,學(xué)習(xí)不同的東西?可是有些人學(xué)習(xí)像word,excel這類操作性極強(qiáng)的辦公軟件時(shí),總是先看書,看到尾巴忘了頭,到上機(jī)時(shí)卻不知所措.這種學(xué)習(xí)方式是被動(dòng)的,看這些軟件操作的書,里面說的都是具體的操作,不親手又怎能接受新知識(shí)?
五.多進(jìn)行比較.
dos和windows有許多共同和不同的地方,如果是從dos學(xué)過來的話,在學(xué)習(xí)過程中不妨多進(jìn)行比較,把不同的地方記下,相同的地方可以跳過,這可以快速地了解系統(tǒng)的不同之處,迅速地學(xué)到東西!
學(xué)習(xí)程序設(shè)計(jì),我主張"實(shí)踐->理論->再實(shí)踐"的方式,在編程的初期,不管你會(huì)不會(huì)寫程序,都應(yīng)先實(shí)踐,(這里的實(shí)踐是指編程工具操作方面的實(shí)踐),學(xué)會(huì)操作編程工具.也許有些人會(huì)說:"廢話!沒有理論,又怎么實(shí)踐?"不錯(cuò),當(dāng)你坐在一臺(tái)電腦面前不知所措時(shí),你就會(huì)想方設(shè)法使自己學(xué)會(huì)操作它,主動(dòng)看書,看聯(lián)機(jī)幫助,請(qǐng)教別人,忙得個(gè)"不亦樂乎",這不是變"被動(dòng)"為"主動(dòng)"了嗎? 邊學(xué)習(xí)邊操作,以實(shí)踐來帶動(dòng)理論的學(xué)習(xí),接著達(dá)到"理論與實(shí)踐同步",就可闖過第一關(guān),學(xué)會(huì)了編程工具的基本操作,可以為以后上機(jī)實(shí)踐打下鋪墊.
光學(xué)會(huì)操作像vc這類的工具還不行,工具是死的,人才是活的,不會(huì)編程只能是空操作,你還會(huì)說:"廢話!沒有理論,怎么實(shí)踐?"的,這時(shí)就要學(xué)習(xí)編程的真功夫了,也就是我說的第二階段--學(xué)"理論"階段,深入研究前輩們的著作,吸取前人的智慧精華為我所用,扎扎實(shí)實(shí)打好編程內(nèi)功,功夫到家了就應(yīng)該"再實(shí)踐",將學(xué)到的東西運(yùn)用于實(shí)際,編寫出我們需要的軟件來.學(xué)以致用嘛,呵呵~~這種方式總比"先學(xué)好語法的條條框框,再上機(jī)實(shí)踐"的效果好得多啦.
聯(lián)系客服