《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > DSP編程技巧之:控制與語言選項(xiàng)以及預(yù)處理與診斷

DSP編程技巧之:控制與語言選項(xiàng)以及預(yù)處理與診斷

2015-09-18
關(guān)鍵詞: DSP 編程技巧

  在前面幾期中,我們了解到DSP編程技巧之:編譯流程與處理器選項(xiàng)、DSP編程技巧之:程序優(yōu)化、DSP編程技巧之:調(diào)試與路徑選項(xiàng),今天為大家講解控制與語言選項(xiàng)以及預(yù)處理與診斷。
  編譯器有一些控制選項(xiàng),這些選項(xiàng)是供我們來控制編譯器的,不像前幾篇文章提到的那些選項(xiàng)那樣,是編譯器用來控制編譯結(jié)果的。下面我們就來看看我們可以使用的控制編譯器的選項(xiàng)有哪些:
  就編譯器本身來說,它只要讀取C、C++、匯編等文件進(jìn)行處理就完成任務(wù)了,所以編譯器的控制選項(xiàng)并不多,一般情況下一個(gè)-z選項(xiàng)就足夠我們完成從編譯程序到生成目標(biāo)的編譯器控制效果了。相比較而言,C、C++這些語言本身就復(fù)雜的多了,并且因?yàn)橛泻芏鄠€(gè)版本的存在,難免有一些小混亂的存在,所以編譯器里與編程語言本身相關(guān)的選項(xiàng)就顯得特別多,以便我們來對(duì)語言的特性等進(jìn)行正確使用,下面就看看編譯器里與編程語言有關(guān)的選項(xiàng):
  從表2里也可以看出,大部分特性是與C++編程息息相關(guān)的,如果僅僅使用C進(jìn)行一些編程的話,對(duì)編譯器的編程語言選項(xiàng)的使用確實(shí)要簡(jiǎn)單了不少。

  在編程軟件例如CCS中編程時(shí),代碼分析工具可以方便我們對(duì)代碼進(jìn)行分析,例如我們把鼠標(biāo)指向一個(gè)函數(shù)名的時(shí)候,所指的地方就能出來一個(gè)實(shí)時(shí)菜單,使得我們可以直接定位到函數(shù)的聲明、被調(diào)用的位置或者某個(gè)宏定義等等,非常方便。這種功能是如何實(shí)現(xiàn)的呢?在編譯器的前端是一個(gè)語義解析器,它負(fù)責(zé)把源程序中的token找出來,然后解析器parser(也有的地方叫分析器)就可以解析這些token,并產(chǎn)生樹狀表,供編程環(huán)境使用;此外解析器還可以完成一部分的語法錯(cuò)誤檢查功能。如果希望了解關(guān)于解析器的更詳細(xì)的信息,可以參考編譯原理方面最著名的“龍書”,即《Compliers: Principles, Techniques, &Tools》;在K&RC語言文檔的A12這一節(jié)中也對(duì)解析器的預(yù)處理功能進(jìn)行了詳細(xì)的敘述,它預(yù)處理的信息主要包括:
  1. 宏定義和擴(kuò)展,例如_INLINE;
  2. #include引用的文件,包括<>和“”兩種方法引用的頭文件;
  3. 條件編譯指令,例如#if,#endif等等;
  4. 其它的多種預(yù)處理指令,主要是#開頭的一些指令,例如#error。
  我們可以控制編譯器的預(yù)處理選項(xiàng),使得解析器根據(jù)我們的需求產(chǎn)生需要的預(yù)處理結(jié)果,方便我們對(duì)程序的開發(fā)調(diào)試;這些選項(xiàng)如表1所示。
  因?yàn)轭A(yù)處理器要使用到文件中的符號(hào)信息,所以相關(guān)的預(yù)定義信息一定要提供給預(yù)處理器,否則找不到符號(hào)信息就要報(bào)錯(cuò)了。符號(hào)選項(xiàng)比較簡(jiǎn)單,就是預(yù)定義與解除定義,如表2所示。

  在程序的處理過程中,我們可以控制編譯器輸出診斷信息選項(xiàng),使得它輸出我們期望的詳細(xì)信息,更加容易定位和解決一些看起來難以捉摸的問題;這些選項(xiàng)如表3所示。需要注意的是,診斷信息相關(guān)的選項(xiàng)必須放在鏈接器選項(xiàng)--run_linker之前。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日韩av片免费播放 | 三级在线不卡 | 亚洲五月激情综合图片区 | 国产手机在线国内精品 | 欧美精品亚洲精品日韩专区va | 欧美日韩一二三四区 | 国产精品亚洲片在线牛牛影视 | 老司机午夜视频在线观看 | 亚洲国产高清在线 | 在线成人免费观看 | 91aaa免费免费国产在线观看 | 天天做天天添婷婷我也去 | 一本大道香蕉在线 观看 | 久久人人爽人人爽人人爽 | 动漫精品一区二区三区视频 | 5060网午夜| 国产黄色大片 | 亚洲综合插 | 一区二区三区四区在线观看视频 | 中文字幕有码在线 | 天天射天天爽 | 97国产在线公开免费观看 | 欧美色图欧美色图 | 性欧美激情在线观看 | 黄色网址免费在线 | 日日干狠狠 | 91精品国产综合成人 | 成人亚洲欧美 | 高清国产一区二区三区 | 伊人精品线视天天综合 | 欧美综合自拍亚洲综合 | 美女视频永久黄网站免费观看国产 | 亚洲精品成人网久久久久久 | 青在线视频| 国产成人手机视频 | 美女高清特黄a大片 | 国产成人精品精品欧美 | 在线播放 你懂的 | 日韩高清在线二区 | 欧美亚洲高清日韩成人 | 成人小视频免费 |