當前位置:編程學習大全網 - 編程語言 - 從程序執行效率方面考慮,請簡述C語言采取的壹些措施和原因(這是去年的復試題,請給出比較官方的語言)

從程序執行效率方面考慮,請簡述C語言采取的壹些措施和原因(這是去年的復試題,請給出比較官方的語言)

說實話,這個問題問的比較大,C語言被譽為最靈活的語言,九曲十八彎,千變萬化,如何是程序高效率運行取決於程序員對計算機底層的理解和對C語言的熟練掌握。但單從答題的方面考慮,我在這裏提出幾點僅供參考:

1.使用指針:對於指針的理解簡單點可以認為類似於匯編中的尋址方式,正是指針的存在使C語言威力無窮。有些程序用其他語言也可以實現,但C能夠更有效地實現;有些程序無法用其它語言實現,如直接訪問硬件,但C卻可以。正因為指針可以擁有類似於匯編的尋址方式,所以可以使程序更高效。

2.使用宏函數:函數和宏函數的區別就在於,宏函數占用了大量的空間,而函數占用了時間。函數調用是要使用系統的棧來保存數據的,如果編譯器裏有棧檢查選項,壹般在函數的頭會嵌入壹些匯編語句對當前棧進行檢查;同時,CPU也要在函數調用時保存和恢復當前的現場,進行壓棧和彈棧操作,所以,函數調用需要壹些CPU時間。而宏函數不存在這個問題。宏函數僅僅作為預先寫好的代碼嵌入到當前程序,不會產生函數調用,所以僅僅是占用了空間,而使程序可以高效運行。在頻繁調用同壹個宏函數的時候,該現象尤其突出。

3.使用位操作:位操作可以減少除法和取模的運算。在計算機程序中數據的位是可以操作的最小數據單位,理論上可以用"位運算"來完成所有的運算和操作。壹般的位操作是用來控制硬件的,或者做數據變換使用,但是,靈活的位操作可以有效地提高程序運行的效率。

4.循環嵌套中將較長循環設為內存循環,較短循環設為外置循環,以減少cpu跨切循環層的次數,提高程序的運行效率。

  • 上一篇:愛情真的是很神奇的東西。壹個改變了王思聰,壹個改變了陳冠希。妳怎麽想呢?
  • 下一篇:11月又有大批車輛召回,特斯拉的“攬客神器”Model X也在其中
  • copyright 2024編程學習大全網