簡體   English   中英

是什么導致編譯器警告未使用的功能?

[英]What causes compiler to warn for unused functions?

設置簡單:功能和功能實現有n個原型。 函數指針有一大堆。 每個函數都列在此數組中。 使用gcc進行編譯時,某些仍然會導致-Wunused函數。

碼:

void foo1(void);
void foo2(void);
void bar1(void);
void bar2(void);

/* and their implementations */

void (*functions[])(void) = { foo1, foo2, bar1, bar2 };

這就是設置的樣子(只是一個例子)! 現在,使用gcc編譯時,此foo / bar函數之一會導致-Wunused函數警告。 其他人沒有。 為什么?

-Wunused功能

在聲明了靜態函數但未定義靜態函數或未使用非內聯靜態函數時發出警告。 該警告由-Wall啟用。

這一警告似乎同時觸發時,從未使用過的功能當函數聲明(原型),但沒有定義。

您確定不會錯過實現所聲明的任何功能的問題嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM