C++在開發(fā)底層程序時(shí),是一個(gè)不錯(cuò)的選擇。不過想用C++快速做一個(gè)一般美觀的界面,不如C#、VB等語言快速。當(dāng)然,如果你想做一個(gè)個(gè)性絢麗的界面,C++完全是可以的。
不過快速開發(fā)時(shí),我們并不會(huì)局限于一種語言,很多時(shí)候都是混用多種語言,實(shí)現(xiàn)一個(gè)強(qiáng)大又絢麗的UI的軟件,而且可以保證開發(fā)速度很快。
每一種語言都有獨(dú)特的優(yōu)勢,有優(yōu)勢的部分恰恰就是很適合應(yīng)用的場景,因此編碼實(shí)現(xiàn)方便快速。并不是說C++開發(fā)程序就一定很慢,也不是說C#開發(fā)程序就一定快。如果要做偏底層的功能,往往C++實(shí)現(xiàn)起來還是很快,而且程序的執(zhí)行效率也是很高的。對于底層的操作,使用C#等語言來說,就非常不方便。比如調(diào)用個(gè)系統(tǒng)API函數(shù),C/C++包含一個(gè)頭文件,然后直接寫函數(shù)名稱即可,而其他語言則比較麻煩了。因?yàn)樗麄円ㄟ^一層函數(shù)庫的封裝間接調(diào)用底層API的,所以也就很麻煩了。
不過,正是封裝的多,使用的庫多,對于C#這類語言來說,實(shí)現(xiàn)界面就很快了。所以說,做UI是他們的長處,所以也很簡單。
那么既然如此,我們就將C++和C#結(jié)合來使用就很好,這叫做強(qiáng)強(qiáng)聯(lián)合!選擇C#也是因?yàn)檎Z法上和C++很相似,VB這些語言語法和C++相差很大,不習(xí)慣。
那么C++做底層功能封裝和C#界面開發(fā)如何混合起來呢?這個(gè)估計(jì)是大家最為關(guān)心的一個(gè)問題吧。在實(shí)現(xiàn)界面時(shí),C#可以選擇wpf做界面,非常的不錯(cuò)。學(xué)習(xí)難度也不大,C#代碼,對于C++熟悉的人,也覺得很好掌握。C++從業(yè)者去使用C#問題不大,只是會(huì)多吐槽一下C#的不方便操作指針之類的,不過C#的string確實(shí)挺不錯(cuò)的,我蠻喜歡。
C++封裝代碼成dll形式提供給C#等語言使用。C++代碼中,你可以盡情的使用類來完成功能,只是在導(dǎo)出函數(shù)時(shí),只要提供C語言的函數(shù),而不要將類導(dǎo)出,不建議這么做。而導(dǎo)出函數(shù)時(shí),為了讓更多語言方便使用dll,導(dǎo)出函數(shù)使用C調(diào)用約定導(dǎo)出函數(shù)。一般語言都支持標(biāo)準(zhǔn)C函數(shù)調(diào)用約定。
更多的細(xì)節(jié),就不在本文講述。這里就是概述性的給大家一個(gè)印象,讓你知道寫程序還可以這樣玩哦。不要將自己的思維局限于一種語言,不要再為學(xué)習(xí)哪一種語言而糾結(jié),也不要為哪一種語言好而爭執(zhí)。
不過,初學(xué)者總要選定一種語言作為出發(fā),而我的建議時(shí),學(xué)習(xí)時(shí)盡可能基礎(chǔ)而全面的學(xué)習(xí)。在入門的時(shí)候,相對來說是比較沉得下心學(xué)習(xí)的。所以選擇學(xué)習(xí)C++作為入門語言是非常不錯(cuò)的選擇。當(dāng)你C++學(xué)的不錯(cuò)的時(shí)候,再學(xué)其他語言做應(yīng)用開發(fā),都是輕松掌握的。但是如果工作了,再來學(xué)習(xí)C++,精力有限,而且很難靜下心學(xué)習(xí)又大又全又細(xì)的C++。
然而做底層開發(fā)時(shí),C++無疑是一個(gè)很好的選擇。如果C++借用界面庫,自然也是可以做很不錯(cuò)的UI的。其他語言之所以可以快速開發(fā),也就是有很多庫的支持。當(dāng)C++的第三方庫多了,開發(fā)速度自然也是很不錯(cuò)的。
如果你有一些不錯(cuò)的想法,就到C++技術(shù)網(wǎng)分享下吧。我會(huì)仔細(xì)閱讀每一個(gè)字透露出來的氣息,給你分享我的相關(guān)經(jīng)驗(yàn),盡量開闊你的思維范圍,一起進(jìn)步。
全訊網(wǎng),www.hz1s.com