-
1 # 使用者2600209177143
-
2 # 三袋大菠蘿
瞭解編譯之後的彙編,彙編和C語言之間的約定等。再稍微瞭解一下如何減少程式執行的指令數。注意,是程式實際執行的指令數,而不是編譯你能看到的指令數量。
比如計數迴圈載入記憶體16次,和直接彙編寫16個記憶體載入指令,執行的指令數量是不一樣的。
我覺得到這個程度,C語言對你來說沒什麼可繼續深入的了。
-
3 # 宜時合不
這個其實是由應用場景和個人興趣愛好決定的。C語言是介於彙編和高階語言之間的中級語言。它就如中國大廚手中那把唯一的菜刀,只要功夫到了,一刀走天下,當然它的效率也就不能和西餐大廚手裡的各種專用工具相比。
c語言的應用場景主要有下面幾個:
受硬體限制的應用場景比如工業生產或自動化控制中一些自控程式,因為成本的問題,通常硬體限制比較大,如CPU處理能力和記憶體大小限制,這些基本就是C語言的天下,因為只有C語言才能將記憶體控制在極致。
對效能或實時性有要求的應用場景比如作業系統或者圖形影象處理等領域的開發,這些都要求最大限度的發揮硬體的效能,或者對計算的實時性有要求,這些應用如果C語言不能做到,那麼其它所有高階語言都無法實現。
異種硬體系統的應用場景我們目前主流的系統是基於x86和arm的系統,因此主流的高階語言都有針對這兩種硬體系統的支援版本,但我們還有大量的異種可程式設計硬體系統,這些系統的彙編級程式碼可能都是不相容的,如果需要在這些硬體上提供一種可跨平臺的程式語言的話,那麼C語言就是不二的選擇。通常都是有了C語言的支援後,才會考慮在C語言上構架其它高階語言的支援。
那麼對C語言需要學習到什麼程度主要看應用的複雜度,比如作業系統這種超級複雜的系統,對C語言的要求就是能多精就要多精,沒有下限。而如果對一些異種硬體或者一些小控制程式,因為複雜度不高,那麼能穩定實現就夠了,甚至很多都是直接彙編實現的,畢竟程式碼不復雜。
-
4 # 太年輕57817801
作為一個做軟體開發兩年的菜鳥,學習C語言就學到了指標,用C語言實現了資料結構那門顆的各種案例,後面學了JAVA感覺上手比別人快,看一些原始碼都不是很費勁,雖然說在工作中沒怎麼用到C語言,個人覺得的還是要學一下C。寫得不好,請各位網友指導
回覆列表
暫時還沒發現有第二種程式語言在承上啟下這方面比c語言更優秀的,和二進位制彙編相比,它不是基石;同c++,JAVA,py相比它沒有那麼多花式,在網際網路時代沒有java那麼奪目,它就像空氣,你感覺不到它,但它卻無處不在,離了誰都行,但唯獨少不了它,它是眾多程式語言的孵化器,程式語言之母,我不知道下一個新語言叫甚名誰,但知道它一定出自C