新聞中心

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

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

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

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

        本文引用地址:http://www.104case.com/article/267640.htm

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        c++相關文章:c++教程



        上一頁 1 2 下一頁

        關鍵詞: DSP 編程 芯片

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 双城市| 卢湾区| 盈江县| 克东县| 任丘市| 江西省| 临潭县| 四平市| 汪清县| 沁阳市| 德州市| 湛江市| 福贡县| 临沧市| 茂名市| 宜黄县| 珲春市| 甘南县| 乌什县| 若尔盖县| 渭源县| 昭通市| 始兴县| 塘沽区| 革吉县| 德兴市| 顺义区| 徐闻县| 广宗县| 西林县| 屯留县| 海口市| 鄂伦春自治旗| 林口县| 遂溪县| 改则县| 呼图壁县| 玉环县| 上饶市| 惠州市| 洪雅县|