關鍵字:STM32CubeIDE,warning,編譯警告
目錄預覽
1 前言2 巧用 warning3 小結
1. 前言
編譯警告對于工程師們來說,是再常見不過的東西了。對于嚴謹的工程師們,任何 warning 都是不會忽視的。
2. 巧妙使用 warning
在 STM32CubeIDE 中可以通過warning(甚至 error)的方式來通知工程師,使得一些容易遺漏的配置得到重視。
例如,在釋放參考代碼給客戶時,希望客戶注意到里面的項目名稱和項目版本,那么我們可以在代碼中,通過“#error ”來強調必須要修改的信息,通過“#warning”來備注需要注意的信息。具體代碼如圖 1:
這樣,當客戶編譯工程時,會出現 error 和 warning,見圖 2,只有將“#error”和“#warning”兩行分別注釋掉,才會分別消除這兩項編譯信息,以此達到警示客戶的目的。
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 :
3. 小結
事實上,在編譯項目時,warning 和 error 同樣重要,部分隱蔽的問題可能就和warning 相關。當我們對工程代碼和編譯器有了更深層次的了解后,可以巧妙地使用和屏蔽 warning,幫我們更好地管理項目。
完整內容請點擊“閱讀原文”下載原文檔。
長按掃碼關注公眾號
更多資訊,盡在STM32
▽點擊“閱讀原文”,可下載原文檔
原文標題:應用筆記|巧用 STM32CubeIDE 之編譯警告
文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
-
單片機
+關注
關注
6035文章
44554瀏覽量
634653 -
STM32
+關注
關注
2270文章
10895瀏覽量
355743
原文標題:應用筆記|巧用 STM32CubeIDE 之編譯警告
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論