加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

c語(yǔ)言編程

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
  • 《嵌入式Linux應(yīng)用程序開(kāi)發(fā)標(biāo)準(zhǔn)教程》(第2版)
    華清遠(yuǎn)見(jiàn)為您帶來(lái)經(jīng)典教程:嵌入式Linux應(yīng)用程序開(kāi)發(fā)
  • 高效的C編程之: 移植問(wèn)題
    當(dāng)對(duì)源代碼使用不同的編譯器時(shí),可能會(huì)出現(xiàn)一些移植上的問(wèn)題,這時(shí)可以宏將一些ARM特有的關(guān)鍵字“打包”。
  • 高效的C編程之: 浮點(diǎn)運(yùn)算
    大多數(shù)的ARM處理器硬件上并不支持浮點(diǎn)運(yùn)算。但ARM上提供了以下幾個(gè)選項(xiàng)來(lái)實(shí)現(xiàn)浮點(diǎn)運(yùn)算。
  • 高效的C編程之: 變量類型
    ARM C編譯器支持基本的數(shù)據(jù)類型:char、short、int、long long、float和double。表14.2說(shuō)明了armcc對(duì)C語(yǔ)言所使用的數(shù)據(jù)類型的映射。
  • 高效的C編程之:Switch語(yǔ)句
    編譯器通常將C語(yǔ)言中的Switch語(yǔ)句編譯一個(gè)查找表(Table Lookup)以便跳轉(zhuǎn)到合適的入口處。
  • 高效的C編程之:C循環(huán)結(jié)構(gòu)
    循環(huán)體是程序設(shè)計(jì)與優(yōu)化的重點(diǎn)考慮對(duì)象。本節(jié)將著重講解在ARM上處理for和while循環(huán)最有效的方法。
  • 高效的C編程之:布爾表達(dá)式
    通常,布爾表達(dá)式被用來(lái)檢測(cè)某個(gè)數(shù)值是否在特定的范圍內(nèi)。例如,在圖形窗口處理程序中,常使用布爾表達(dá)式判斷屏幕中一個(gè)點(diǎn)是否在當(dāng)前活動(dòng)窗口范圍內(nèi)。
  • 高效的C編程之:條件執(zhí)行
    ARM指令都是可以條件執(zhí)行的。在代碼中使用條件執(zhí)行指令可以減小代碼密度并提高程序執(zhí)行效率。典型的條件執(zhí)行語(yǔ)句用在比較指令之后,形成程序的分支跳轉(zhuǎn)結(jié)構(gòu)。下面的例子顯示了條件執(zhí)行指令的典型用法。
  • 高效的C編程之:除法運(yùn)算
    因?yàn)锳RM體系結(jié)構(gòu)本身并不包含除法運(yùn)算硬件,所以在ARM上實(shí)現(xiàn)除法是十分耗時(shí)的。ARM指令集中沒(méi)有直接提供除法匯編指令,當(dāng)代碼中出現(xiàn)除法運(yùn)算時(shí),ARM編譯器會(huì)調(diào)用C庫(kù)函數(shù)(有符合除法調(diào)用_rt_sdiv,無(wú)符合除法調(diào)用_rt_udiv),來(lái)實(shí)現(xiàn)除法操作。根據(jù)除數(shù)和被除數(shù)的不同,32bit的除法運(yùn)算一般要占有20-140個(gè)指令周期。
  • 高效的C編程之:C編譯器及其優(yōu)化
    本章主要講解C編譯器在代碼優(yōu)化時(shí)遇到的一些問(wèn)題。要編寫高效的C語(yǔ)言源代碼,必須了解C編譯器對(duì)什么形式的代碼有所改動(dòng),編譯器涉及的處理器結(jié)構(gòu)的限制,以及一些特殊的C編譯器的限制。
  • Linux下C編程基礎(chǔ)之:使用autotools
    在上一小節(jié),讀者已經(jīng)了解到了make項(xiàng)目管理器的強(qiáng)大功能。的確,makefile可以幫助make完成它的使命,但要承認(rèn)的是,編寫makefile確實(shí)不是一件輕松的事,尤其對(duì)于一個(gè)較大的項(xiàng)目而言更是如此。那么,有沒(méi)有一種輕松的手段生成makefile而同時(shí)又能讓用戶享受make的優(yōu)越性呢?
  • Linux下C編程基礎(chǔ)之:gdb調(diào)試器
    調(diào)試是所有程序員都會(huì)面臨的問(wèn)題。如何提高程序員的調(diào)試效率,更好、更快地定位程序中的問(wèn)題從而加快程序開(kāi)發(fā)的進(jìn)度,是大家都很關(guān)注的問(wèn)題。就如讀者熟知的Windows下的一些調(diào)試工具,如Visual Studio自帶的設(shè)置斷點(diǎn)、單步跟蹤等,都受到了廣大用戶的贊賞。
  • C語(yǔ)言while(1)和for(;;)的區(qū)別
    在C語(yǔ)言編程中,while(1)和for(;;)是兩種常見(jiàn)的循環(huán)結(jié)構(gòu),都可以用于實(shí)現(xiàn)無(wú)限循環(huán)。盡管它們的作用相似,但在內(nèi)部工作機(jī)制和應(yīng)用場(chǎng)景上存在一些微妙的區(qū)別。
  • 正在努力加載...