• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

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

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

    本文引用地址:http://www.czjhyjcfj.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 編程 芯片

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 城固县| 颍上县| 方城县| 丰台区| 江永县| 响水县| 宁德市| 泾川县| 双城市| 安西县| 谷城县| 安达市| 丹东市| 吴忠市| 汉寿县| 广州市| 辽阳市| 舞钢市| 鸡东县| 乐陵市| 恩平市| 双峰县| 贵阳市| 宁明县| 名山县| 广东省| 成都市| 铅山县| 临桂县| 密山市| 天台县| 图片| 丹棱县| 朝阳县| 萨迦县| 延边| 南陵县| 余庆县| 平湖市| 沛县| 庆城县|