c語(yǔ)言和編程有啥區(qū)別嗎 C語(yǔ)言到底是什么?
C語(yǔ)言到底是什么?c語(yǔ)言是一種面向過(guò)程的抽象通用編程語(yǔ)言,廣泛應(yīng)用于底層開(kāi)發(fā)。c語(yǔ)言可以用簡(jiǎn)單的編譯處理低級(jí)內(nèi)存。c語(yǔ)言是一種高效的編程語(yǔ)言,只產(chǎn)生少量的機(jī)器語(yǔ)言,不需要任何運(yùn)行環(huán)境的支持就可以運(yùn)行。
C語(yǔ)言到底是什么?
c語(yǔ)言是一種面向過(guò)程的抽象通用編程語(yǔ)言,廣泛應(yīng)用于底層開(kāi)發(fā)。c語(yǔ)言可以用簡(jiǎn)單的編譯處理低級(jí)內(nèi)存。c語(yǔ)言是一種高效的編程語(yǔ)言,只產(chǎn)生少量的機(jī)器語(yǔ)言,不需要任何運(yùn)行環(huán)境的支持就可以運(yùn)行。C語(yǔ)言雖然提供了很多底層處理功能,但仍然保持了跨平臺(tái)的特性。用標(biāo)準(zhǔn)規(guī)范編寫(xiě)的c語(yǔ)言程序可以在許多計(jì)算機(jī)平臺(tái)上編譯,包括嵌入式處理器和超級(jí)計(jì)算機(jī)等操作平臺(tái)。
現(xiàn)在一般的游戲或者軟件都用什么語(yǔ)言編程?c和c 有什么區(qū)別?
這里有兩個(gè)問(wèn)題,一個(gè)是C和C的區(qū)別和聯(lián)系,但是如何開(kāi)發(fā)應(yīng)用軟件。
C比C語(yǔ)言復(fù)雜,完全兼容C語(yǔ)法。它不僅提供了面向?qū)ο蟮奶匦裕€增加了模板元編程,直接把復(fù)雜度提高了一個(gè)層次。但是唐 不要害怕困難。C的基本語(yǔ)法很簡(jiǎn)單,包括模板,主要看熟練程度。有些事情不。;t不需要刻意去學(xué),包括一些語(yǔ)法糖果,在實(shí)際項(xiàng)目中很少用到,所以那些說(shuō)C有多復(fù)雜,有多難學(xué)的,聽(tīng)聽(tīng)就好,不要 不要當(dāng)真??梢哉f(shuō),只要掌握面向?qū)ο?,了解基本的模板編程,熟練使用stl或boost(里面的東西don t不需要完全掌握,只掌握重點(diǎn))
軟件開(kāi)發(fā)的話題太廣了。如果你熟悉C/C,在這個(gè)階段,你可以熟悉各種API,比如win32或者posix,比如可以看Windows編程或者Linux編程之類(lèi)的書(shū)。
目前,CC s路越來(lái)越窄。桌面開(kāi)發(fā)可以選擇Qt,但是windows還是推薦使用。net和C作為替代。隨著互聯(lián)網(wǎng)和云計(jì)算的普及,C在這方面基本沒(méi)用了。原本以為它可以在物聯(lián)網(wǎng)方面大有作為,結(jié)果半路殺出一個(gè)python,然后連Ubuntu都把它作為官方開(kāi)發(fā)語(yǔ)言。這也是一個(gè)悲傷的故事。
但是對(duì)于嵌入式工程師來(lái)說(shuō),C/C目前是不可替代的,門(mén)檻極高。要熟悉Linux架構(gòu),內(nèi)核就要切,要寫(xiě)具體硬件的驅(qū)動(dòng),需要豐富的軟硬件知識(shí)積累。
目前游戲的主流編程語(yǔ)言是C#,各大商業(yè)游戲引擎如unity、cryengine等都使用C#。目前只有unreal4用C,unreal4也可以用藍(lán)圖。前幾年流行的Cocos2dx也采用了C,不過(guò)目前基本上已經(jīng)淘汰了。
游戲編程對(duì)數(shù)學(xué)能力要求很高。首先你需要掌握高等數(shù)學(xué),線性代數(shù)等理論知識(shí),然后再看一些計(jì)算機(jī)圖形學(xué)的相關(guān)知識(shí)。隨著這些理論知識(shí)的學(xué)習(xí),你需要掌握相關(guān)的圖形API,比如OpenG。l或者directx,如果從事移動(dòng)端,需要學(xué)習(xí)opengl es,opengl es是由OpenGL簡(jiǎn)化而來(lái),在OpenGL中留下固定的函數(shù)管道,采用可編程的管道,也就是shader(shader是一種類(lèi)C語(yǔ)言,語(yǔ)法簡(jiǎn)單,但是需要一定的數(shù)學(xué)基礎(chǔ)才能寫(xiě)好),所以要重點(diǎn)學(xué)習(xí)OpenGL 3.0以上的版本。之后就可以開(kāi)始學(xué)習(xí)游戲引擎了。有了以上知識(shí),游戲引擎就簡(jiǎn)單了,相當(dāng)于使用了ide。