衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

巧用 STM32CubeIDE 之編譯警告

jf_pJlTbmA9 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2023-10-25 16:33 ? 次閱讀

1.前言

編譯警告對于工程師們來說,是再常見不過的東西了。對于嚴謹的工程師們,任何 warning 都是不會忽視的。

2.巧妙使用 warning

STM32CubeIDE 中可以通過warning(甚至 error)的方式來通知工程師,使得一些容易遺漏的配置得到重視。

例如,在釋放參考代碼給客戶時,希望客戶注意到里面的項目名稱和項目版本,那么我們可以在代碼中,通過“#error ”來強調必須要修改的信息,通過“#warning”來備注需要注意的信息。具體代碼如圖 1:

wKgaomUDw46AInh4AAFWi-zoiSs095.png

這樣,當客戶編譯工程時,會出現 error 和 warning,見圖 2,只有將“#error”和 “#warning”兩行分別注釋掉,才會分別消除這兩項編譯信息,以此達到警示客戶的目的。

wKgaomUDw5CAHuTzAAFiS799EYI093.png

2.1. 主動屏蔽特定的 warning

在有些場景,我們還可以在特定的代碼或者文件作用域內,主動屏蔽特定的 warning。

例如,工程中寫了一個測試函數“void MyTestFunction(void)”,但是在工程中暫時沒有被調用,直接編譯會得到“Wunused-function”的 warning。

但是如果在代碼中添加這樣的語句:

#pragma GCC diagnostic ignored "-Wunused-function"。

/*此區間內,如果出現函數僅申明,但是沒有被調用時,編譯不產生warning*/ voidMyTestFunction(void){…}

#pragma GCC diagnostic pop

因為我們配置了“-Wunused-function”,那么在編譯時,即使 MyTestFunction 沒有 被調用,編譯也不產生 warning。

我們還可以在 STM32CubeIDE 中,通過“Help”->“Information Center”->“Read STM32CubeIDE Documentation”->“C/C++ Compiler”,找到 GCC 編譯器文檔,從而發現更多的 warning 選項,根據需要主動屏蔽更多的 warning。見圖 3 :

wKgZomUDw5KAH5yjAAK3031kFFI899.png

3. 小結

事實上,在編譯項目時,warning 和 error 同樣重要,部分隱蔽的問題可能就和 warning 相關。當我們對工程代碼和編譯器有了更深層次的了解后,可以巧妙地使用和屏蔽 warning,幫我們更好地管理項目。

來源:STM32單片機

免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2272

    文章

    10923

    瀏覽量

    357555
  • IDE
    IDE
    +關注

    關注

    0

    文章

    341

    瀏覽量

    46878
  • 編譯
    +關注

    關注

    0

    文章

    661

    瀏覽量

    33040
收藏 人收藏

    評論

    相關推薦

    STM32CubeIDE入門教程 STM32CubeIDE安裝使用教程

    STM32CubeIDE是一個高級C / C ++開發平臺,具有用于STM32微控制器和微處理器的外設配置,代碼生成,代碼編譯和調試功能。它基于Eclipse??/ CDT框架和GCC工具鏈進行開發,并基于GDB進行調試。它允許
    的頭像 發表于 06-08 09:19 ?9393次閱讀
    <b class='flag-5'>STM32CubeIDE</b>入門教程 <b class='flag-5'>STM32CubeIDE</b>安裝使用教程

    STM32CubeIDE軟件實現STM32外部中斷實例

    本文用STM32CubeIDE軟件實現STM32外部中斷實例。
    的頭像 發表于 08-24 09:09 ?4464次閱讀

    STM32CubeIDE SWV功能介紹

    01 引言 STM32CubeIDE是ST官方推出的集成開發環境,集成了很多STM32的調試與開發工具。本文主要介紹如何使用SWV功能來打印輸出。 02 問題描述 客戶使用STM32CubeIDE
    的頭像 發表于 10-13 14:20 ?3839次閱讀
    <b class='flag-5'>STM32CubeIDE</b> SWV功能介紹

    Ubuntu 18.04 安裝 STM32CubeIDE 小記

    Ubuntu 18.04 安裝 STM32CubeIDE 小記
    發表于 11-18 17:36 ?9次下載
    Ubuntu 18.04 安裝 <b class='flag-5'>STM32CubeIDE</b> 小記

    STM32CubeIDE使用

    參考STM32CubeIDE屬于一站式工具,本文帶你體驗它的強大第一個STM32CubeIDE項目STM32CubeIDE使用記錄STM32CubeIDE使用筆記(03):使用ST-L
    發表于 12-02 17:21 ?29次下載
    <b class='flag-5'>STM32CubeIDE</b>使用

    STM32CubeIDE初識

    STM32CubeIDE初識
    發表于 12-02 18:36 ?23次下載
    <b class='flag-5'>STM32CubeIDE</b>初識

    STM32CubeIDE安裝-NSIS Error問題

    STM32CubeIDE安裝-NSIS Error問題
    發表于 12-03 21:06 ?18次下載
    <b class='flag-5'>STM32CubeIDE</b>安裝-NSIS Error問題

    STM32CubeIDE的MCU開發

    STM32開發環境是ARM公司的KEIL軟件, 由于KEIL對于STM32大部分型號是收費的, 使用需要破解, 存在版權問題。 并且使用KEIL編譯大型工程, 編譯太慢了,
    發表于 12-05 12:21 ?25次下載
    <b class='flag-5'>STM32CubeIDE</b>的MCU開發

    STM32CUBEIDE(1)----安裝

    概述 STM32CubeIDE是一體式多操作系統開發工具,是STM32Cube軟件生態系統的一部分。 STM32CubeIDE是一種高級C/C++開發平臺,具有STM32微控制器和微處
    的頭像 發表于 11-22 09:52 ?1349次閱讀
    <b class='flag-5'>STM32CUBEIDE</b>(1)----安裝

    應用筆記|巧用 STM32CubeIDE 編譯警告

    關鍵字:STM32CubeIDE,warning,編譯警告 目錄預覽 1 前言 2 巧用 warning 3 小結 1. 前言 編譯
    的頭像 發表于 06-29 17:35 ?1505次閱讀
    應用筆記|<b class='flag-5'>巧用</b> <b class='flag-5'>STM32CubeIDE</b> <b class='flag-5'>之</b><b class='flag-5'>編譯</b><b class='flag-5'>警告</b>

    STM32CubeIDE安裝指南

    電子發燒友網站提供《STM32CubeIDE安裝指南.pdf》資料免費下載
    發表于 08-01 15:44 ?6次下載
    <b class='flag-5'>STM32CubeIDE</b>安裝指南

    STM32CubeIDE實用技巧配置Heap空間

    STM32CubeIDE實用技巧配置Heap空間
    的頭像 發表于 10-31 17:30 ?1193次閱讀
    <b class='flag-5'>STM32CubeIDE</b>實用技巧<b class='flag-5'>之</b>配置Heap空間

    STM32CubeIDE實用技巧配置堆空間

    電子發燒友網站提供《STM32CubeIDE實用技巧配置堆空間.pdf》資料免費下載
    發表于 09-19 15:07 ?8次下載
    <b class='flag-5'>STM32CubeIDE</b>實用技巧<b class='flag-5'>之</b>配置堆空間

    STM32CubeIDE實用技巧ld鏈接文件

    電子發燒友網站提供《STM32CubeIDE實用技巧ld鏈接文件.pdf》資料免費下載
    發表于 09-20 10:31 ?2次下載
    <b class='flag-5'>STM32CubeIDE</b>實用技巧<b class='flag-5'>之</b>ld鏈接文件

    巧用編譯編譯警告

    STM32CubeIDE中,我們可以通過主動warning(甚至error)的方式來通知工程師,使得一些容易遺漏的配置得到重視。例如,在釋放參考代碼給客戶時,希望客戶注意到里面的項目名稱和項目版本
    的頭像 發表于 08-30 11:46 ?400次閱讀
    <b class='flag-5'>巧用</b><b class='flag-5'>編譯</b>器<b class='flag-5'>之</b><b class='flag-5'>編譯</b><b class='flag-5'>警告</b>
    百家乐多少钱| 注册百家乐送彩金| 皇冠国际足球| 赌博百家乐的玩法技巧和规则| 基础百家乐官网博牌| 三原县| 威尼斯人娱乐城会员注册| 百家乐游戏机高手| 百家乐官网大天堂| 百家乐官网有多少种游戏| 筒子二八杠分析仪| 百家乐的桌布| 百家乐开户送彩网址| 金三角百家乐官网的玩法技巧和规则| 阳江市| 大发888官网充值| 三国百家乐的玩法技巧和规则| 娱乐城百家乐规则| 金满堂百家乐官网的玩法技巧和规则 | 银河国际娱乐场| 水果机破解器多少钱| 筹码百家乐的玩法技巧和规则 | 百家乐官网路子| 百家乐官网最新庄闲投注法| 达尔| 峨眉山市| 大发888娱乐下载| 二八杠认牌绝技| 海尔百家乐的玩法技巧和规则| e世博百家乐攻略| 百家乐游戏平台有哪些哪家的口碑最好 | 百家乐官网怎样发牌| 皇家娱乐| 大发888娱乐场备用| 威尼斯人娱乐网站怎么样| 新梦想百家乐的玩法技巧和规则| A8百家乐娱乐平台| 澳门百家乐大揭密| 15人百家乐桌布| 百家乐投注最好方法| 百家乐任你博娱乐网|