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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > DSP編程技巧之32---答疑解惑哪家強(qiáng)之(7)

          DSP編程技巧之32---答疑解惑哪家強(qiáng)之(7)

          作者:paradoxfx 時間:2015-01-04 來源:電子產(chǎn)品世界 收藏

            答疑解惑哪家強(qiáng)?當(dāng)屬我們EEPW最強(qiáng)。。。接下來繼續(xù)我們的答疑解惑。這次我們主要來看一下與編譯器和鏈接器的常見錯誤、警告有關(guān)的問題原因和解決方法。

          本文引用地址:http://www.ex-cimer.com/article/267640.htm

            40. 如何快速定位錯誤信息?

            在CCS V4及以上版本里,在編譯、鏈接之后有一些錯誤和警告是包含有鏈接的,如下圖所示。

            此時可以點擊帶下劃線的超鏈接,從而顯示出詳細(xì)的錯誤信息,如下圖所示。

            這個功能目前還沒有非常智能化,例如下面的錯誤就沒有更詳細(xì)的提示信息。此時需要我們根據(jù)錯誤描述去嘗試解決了。

            上面的錯誤解決起來也容易,它的意思是在鏈接器選項里使用了-l選項來引用庫文件,卻沒有提供給它庫文件的信息,所以就報錯了。

            41. Warning: function declared implicitly,如何解決?

            這個警告是非常常見的,它表明在發(fā)生函數(shù)調(diào)用的時候,編譯器發(fā)現(xiàn)函數(shù)并沒有提前聲明。因為這只是個警告信息,所以編譯器會強(qiáng)迫自己來想象函數(shù)的參數(shù)和返回值,這樣雖然有可能可以通過編譯,結(jié)果卻是存在隱患的,它會導(dǎo)致程序在運行時很難診斷運行時錯誤,甚至可能導(dǎo)致函數(shù)的輸出與設(shè)計的功能完全不相關(guān)。

            然而你也可能會疑惑:一般大家都知道先聲明再使用的原則,函數(shù)我已經(jīng)在頭文件里定義了啊?此時的問題是函數(shù)調(diào)用發(fā)生在頭文件引用之前了,只要把頭文件引用放在函數(shù)調(diào)用之前就能解決此問題,通常把頭文件的引用放在調(diào)用這個函數(shù)的源程序的開頭就好了。

            42. Error: could not open source file "xxx.h",如何解決?

            這個錯誤有點灰色幽默的感覺: 明明看到頭文件就在工程列表里,我們雙擊也能打開它,編譯器卻就是死活不認(rèn)識,還要報出什么致命性的錯誤。

            解決此錯誤可以使用下面的步驟:

            1. 檢查頭文件是否存在,并確認(rèn)其名字是否正確。

            2. 經(jīng)檢查發(fā)現(xiàn)不存在上面的問題,則此時需要手動把頭文件的路徑指定給編譯器。在CCS工程管理器中右鍵點擊工程名,選擇屬性,并切換到頭文件對應(yīng)的選項卡,如下圖所示??梢渣c擊圖中的方框框出來的+鏡像添加,路徑則即可以使用相對路徑,也可以使用絕對路徑,使用相對路徑更容易方便工程的移動。

            注:上圖中的ProjName是編譯器中內(nèi)置的系統(tǒng)變量,我們可以很方便地使用它們來構(gòu)建頭文件、庫文件等的相對路徑,如下圖所示。

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



          上一頁 1 2 下一頁

          關(guān)鍵詞: DSP 編程 芯片

          評論


          相關(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); })();