簡單的設置:有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-function警告。其他人沒有。爲什麼?
你可以發佈一些我們可以實際編譯得到警告的東西嗎? – cnicutar
我無法說服我的gcc(4.7.1)發出警告。你用什麼版本? –
那麼,實際的代碼當然要複雜得多。它有一些更多的錯誤,目前沒有鏈接,但如果你想,你可以編譯它:http://beyermatthias.de/git/index.php?p=minx.git&a=shortlog&h=refs/heads/split_source我的gcc版本是4.7.2 – musicmatze