首頁  >  文章  >  後端開發  >  用於提高程式碼品質和檢測潛在問題的 C/C 最佳編譯器警告設定是什麼?

用於提高程式碼品質和檢測潛在問題的 C/C 最佳編譯器警告設定是什麼?

Susan Sarandon
Susan Sarandon原創
2024-11-04 02:06:02190瀏覽

What are the optimal compiler warning settings for C/C   to enhance code quality and detect potential issues?

C/C 的最佳編譯器警告設定

選擇適當的編譯器警告等級可以透過識別潛在問題來提高程式碼質量。以下是各種編譯器的建議等級:

gcc 和g :

  • '-Wall' 啟動廣泛的警告,包括邏輯優先規則和類型檢查的警告.
  • 「-Werror」將警告提升為錯誤,儘管它可能需要停用用於記筆記的「#warning」巨集。

Sun CC:

  • 「-xarch=v9」啟用更嚴格的警告級別,解決可移植性和效率問題。

aCC (HPUX):

  • '-A' 啟動對緩衝區溢位、空指標取消引用和未定義行為的額外檢查。

Visual Studio:

  • 「4 級」(「/W4」)提供全面的警告,包括有關未初始化變數和未使用代碼的資訊。

英特爾:

  • '-Wall' 會引發類似gcc '-Wall' 的警告,以及對記憶體安全和可移植性的額外檢查。

Extra-Paranoid C 標誌:

對於高度關鍵的代碼,可以使用一套全面的警告標誌:

-g -O -Wall -Weffc++ -pedantic  \
-pedantic-errors -Wextra -Waggregate-return -Wcast-align \
-Wcast-qual  -Wchar-subscripts  -Wcomment -Wconversion \
-Wdisabled-optimization \
-Werror -Wfloat-equal  -Wformat  -Wformat=2 \
-Wformat-nonliteral -Wformat-security  \
-Wformat-y2k \
-Wimplicit  -Wimport  -Winit-self  -Winline \
-Winvalid-pch   \
-Wunsafe-loop-optimizations  -Wlong-long -Wmissing-braces \
-Wmissing-field-initializers -Wmissing-format-attribute   \
-Wmissing-include-dirs -Wmissing-noreturn \
-Wpacked  -Wpadded -Wparentheses  -Wpointer-arith \
-Wredundant-decls -Wreturn-type \
-Wsequence-point  -Wshadow -Wsign-compare  -Wstack-protector \
-Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch  -Wswitch-default \
-Wswitch-enum -Wtrigraphs  -Wuninitialized \
-Wunknown-pragmas  -Wunreachable-code -Wunused \
-Wunused-function  -Wunused-label  -Wunused-parameter \
-Wunused-value  -Wunused-variable  -Wvariadic-macros \
-Wvolatile-register-var  -Wwrite-strings

根據專案要求和第三方函式庫相容性自訂這些設定。

以上是用於提高程式碼品質和檢測潛在問題的 C/C 最佳編譯器警告設定是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn