<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)高級(jí)C語言編程

          嵌入式系統(tǒng)高級(jí)C語言編程

          作者: 時(shí)間:2011-11-01 來源:網(wǎng)絡(luò) 收藏

            內(nèi)容簡(jiǎn)介

            《高級(jí)》將主要介紹針對(duì)的基于C語言的軟件項(xiàng)目開發(fā)的流程,較為復(fù)雜的c語言編程知識(shí)和技巧,編程風(fēng)格和調(diào)試習(xí)慣,并通過對(duì)一個(gè)具體的軟件模塊(ASIX Window GUI)的分析,介紹分析代碼的方法以及設(shè)計(jì)軟件系統(tǒng)需要考慮的各要素?!?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/嵌入式系統(tǒng)">嵌入式系統(tǒng)高級(jí)》將以實(shí)際項(xiàng)目中的代碼作實(shí)例來進(jìn)行介紹,詳細(xì)分析在嵌入式系統(tǒng)開發(fā)中程序員應(yīng)該注意的方法,技巧和陷阱。

          嵌入式系統(tǒng)高級(jí)C語言編程

            《嵌入式系統(tǒng)高級(jí)》的讀者可以是學(xué)習(xí)嵌入式系統(tǒng)的高校學(xué)生(高年級(jí)本科生或碩士研究生),或者是從事嵌入式系統(tǒng)編程的軟硬件工程師。

            作者簡(jiǎn)介

            凌明,1972年5月出生,副教授。現(xiàn)任東南大學(xué)電子科學(xué)與工程學(xué)院副院長(zhǎng),東南大學(xué)集成電路學(xué)院副院長(zhǎng)。先后參加了十一五“核、高、基”國(guó)家科技重大專項(xiàng)“個(gè)人移動(dòng)信息終端SOC芯片研發(fā)與應(yīng)用”項(xiàng)目:國(guó)家十五、十一五“863”、“可重構(gòu)媒體處理器”、“空間信息接收手持終端原型機(jī)開發(fā)”、“手持信息終端SOC設(shè)計(jì)”等項(xiàng)目:江蘇省十五科技招標(biāo)項(xiàng)目和省成果轉(zhuǎn)化專項(xiàng)“基于目標(biāo)產(chǎn)品的SOC設(shè)計(jì)與產(chǎn)業(yè)化”、“GPS導(dǎo)航芯片及目標(biāo)產(chǎn)品產(chǎn)業(yè)化”。獲江蘇省2003年度科技進(jìn)步三等獎(jiǎng)一項(xiàng),江蘇省2004年度科技進(jìn)步一等獎(jiǎng)一項(xiàng),教育部2009科技進(jìn)步二等獎(jiǎng)一項(xiàng):多次獲東南大學(xué)獎(jiǎng)教金、青年教師授課競(jìng)賽獎(jiǎng)勵(lì)。主要研究方向:SOC設(shè)計(jì)方法學(xué)、SOC存儲(chǔ)子系統(tǒng)設(shè)計(jì)、嵌入式系統(tǒng)設(shè)計(jì)等。

            目錄

            第1章 概述:

            1.1 C語言的歷史和特點(diǎn)

            1.2 一個(gè)小測(cè)驗(yàn)

            1.3 如何學(xué)好嵌入式系統(tǒng)中的C語言編程

            1.3.1 真正深刻地認(rèn)識(shí)存儲(chǔ)器

            1.3.2 認(rèn)識(shí)和理解嵌入式C編程環(huán)境

            1.3.3 認(rèn)識(shí)和掌握C語言中的常見陷阱

            1.3.4 掌握C語言程序設(shè)計(jì)過程中的調(diào)試方法

            1.4 推薦的參考書目

            1.4.1 C語言的初級(jí)教材

            1.4.2 C語言進(jìn)階書籍

            1.5 思考題

            第2章 C語言的關(guān)鍵字與運(yùn)算符

            2.1 C語言的關(guān)鍵字

            2.1.1 數(shù)據(jù)類型關(guān)鍵字

            2.1.2 控制語句關(guān)鍵字與相關(guān)語句

            2.1.3 存儲(chǔ)類型關(guān)鍵字

            2.1.4 其他類型關(guān)鍵字

            2.2 C語言的運(yùn)算符

            2.2.1 運(yùn)算符中需要注意的問題

            2.2.2 運(yùn)算符的優(yōu)先級(jí)

            2.2.3 表達(dá)式求值

            2.2.4 運(yùn)算符的詞法分析

            2.3 C語言的指針

            2.3.1 指針的3個(gè)要素

            2.3.2 指針的類型

            2.3.3 指針的初始化

            2.3.4 指針的運(yùn)算

            2.3.5 指針與字符串

            2.4 思考題

            第3章 C語言的函數(shù)

            3.1 C語言的函數(shù)

            3.1.1 函數(shù)的聲明、原型與返回值

            3.1.2 函數(shù)的參數(shù)

            3.1.3 可變參數(shù)的函數(shù)

            3.1.4 遞歸函數(shù)

            3.2 標(biāo)準(zhǔn)庫(kù)函數(shù)

            3.2.1 輸入與輸出:

            3.2.2 字符類別測(cè)試:

            3.2.3 字符串函數(shù):

            3.2.4 數(shù)學(xué)函數(shù):

            3.2.5 實(shí)用函數(shù):

            3.2.6 斷言:

            3.2.7 可變參數(shù)表:

            3.2.8 非局部跳轉(zhuǎn):

            3.2.9 標(biāo)準(zhǔn)庫(kù)函數(shù)與系統(tǒng)調(diào)用

            3.3 聲明

            3.4 作用域與鏈接屬性

            3.4.1 代碼塊作用域

            3.4.2 文件作用域

            3.4.3 函數(shù)作用域

            3.4.4 原型作用域

            3.4.5 鏈接屬性

            3.5 C的預(yù)編譯處理

            3.6 思考題[next]

          第4章 編譯、匯編與調(diào)試

            4.1 嵌入式軟件開發(fā)流程與工具

            4.1.1 嵌入式軟件開發(fā)的一般流程

            4.1.2 編譯器簡(jiǎn)介

            4.1.3 鏈接器簡(jiǎn)介

            4.1.4 嵌入式軟件開發(fā)的調(diào)試環(huán)境

            4.1.5 ARM處理器的開發(fā)工具

            4.2 基于C語言軟件項(xiàng)目中的文件關(guān)系

            4.2.1 C語言項(xiàng)目中的文件依賴關(guān)系

            4.2.2 Make文件

            4.3 C代碼與匯編

            4.3.1 ATPCS

            4.3.2 C與匯編的混合編程

            4.3.3 ARM編譯器對(duì)局部變量和入口參數(shù)的處理

            4.4 思考題

            第5章 存儲(chǔ)器與指針

            5.1 再論C語言中的指針

            5.1.1 指針與數(shù)組

            5.1.2 函數(shù)指針

            5.2 C語言中的內(nèi)存陷阱

            5.2.1 局部變量

            5.2.2 動(dòng)態(tài)存儲(chǔ)區(qū)

            5.2.3 函數(shù)的指針參數(shù)

            5.3 堆棧

            5.3.1 堆棧的作用

            5.3.2 函數(shù)調(diào)用棧幀與中斷棧幀

            5.3.3 堆棧的跟蹤與調(diào)試

            5.4 動(dòng)態(tài)內(nèi)存分配

            5.4.1 算法

            5.4.2 malloc()函數(shù)

            5.4.3 free()函數(shù)

            5.5 利用鏈表構(gòu)建復(fù)雜數(shù)據(jù)結(jié)構(gòu)

            5.5.1 ASIX Window的數(shù)據(jù)結(jié)構(gòu)

            5.5.2 ASIX Window的窗口創(chuàng)建函數(shù)

            5.5.3.ASIXWindow的窗口刪除函數(shù)

            5.6 思考題

            第6章 中斷與設(shè)備驅(qū)動(dòng)

            6.1 設(shè)備驅(qū)動(dòng)簡(jiǎn)介

            6.1.1 設(shè)備驅(qū)動(dòng)、Boot Loader與BSP

            6.1.2 設(shè)備驅(qū)動(dòng)程序的結(jié)構(gòu)

            6.2 中斷與中斷處理

            6.2.1 中斷的重要性

            6.2.2 中斷的分類與處理過程

            6.2.3 C語言中的中斷處理

            6.2.4 中斷處理程序的編寫

            6.3 函數(shù)的可重入問題

            6.3.1 什么是函數(shù)的重入

            6.3.2 函數(shù)可重人的條件

            6.3.3 不可重人函數(shù)的互斥保護(hù)

            6.3.4 重入函數(shù)的偽問題

            6.4 設(shè)備驅(qū)動(dòng)案例——鍵盤驅(qū)動(dòng)

            6.4.1 5~5鍵盤的硬件原理

            6.4.2 鍵盤設(shè)備驅(qū)動(dòng)實(shí)例

            6.5 啟動(dòng)代碼——UBOOT分析

            6.5.1 系統(tǒng)啟動(dòng)與:Boot Loader

            6.5.2 UBOOT、技術(shù)實(shí)現(xiàn)分析

            6.6 思考題

            第7章 編碼風(fēng)格

            7.1 簡(jiǎn)介及說明

            7.2 語言規(guī)則

            7.2.1 基礎(chǔ)

            7.2.2 數(shù)據(jù)

            7.2.3 說明與表達(dá)式

            7.2.4 函數(shù)

            ……

            第8章 代碼的調(diào)試

            第9章 ASIX Window Gui設(shè)計(jì)詳解

          c語言相關(guān)文章:c語言教程




          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();