在 C 代碼中,如果一個函式僅在檔案中使用,最好將其宣告為static.
但有時我將一個函式定義為靜態但實際上并沒有使用它(還),在這種情況下編譯器會抱怨我:
../src/app.c:79:12: error: 'foo' defined but not used [-Werror=unused-function]
告訴編譯器(在這種情況下為 gcc)未使用的靜態函式可以的正確方法是什么?
uj5u.com熱心網友回復:
您可以將unused屬性添加到函式中:
__attribute__((unused))
static void foo(void)
{
}
uj5u.com熱心網友回復:
您可以通過向 GCC 提供此引數來禁用該特定錯誤:
-Wno-unused-function
錯誤本身包含一個提示,您可以這樣做。
uj5u.com熱心網友回復:
我很懶惰且符合標準,只是做inline,它會抑制警告。
static inline void foo(void)
{
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/487798.html
上一篇:向pthread傳遞以另一個函式指標作為引數的函式指標時出現段錯誤
下一篇:列印從給定字母開始的整行
