我用C编写程序。有没有办法(gcc选项)在编译期间识别未使用的代码和函数。
答案 0 :(得分:4)
如果您使用-Wunused-function
,您将收到有关未使用功能的警告。 (请注意,使用-Wall
)时也会启用此功能。
有关详细信息,请参阅http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html。
答案 1 :(得分:3)
gcc -Wall
会警告您未使用的static
函数和其他一些类型的无法访问的代码。但是,它不会警告带有外部链接的未使用函数,因为这样就无法编写库。
答案 2 :(得分:1)
不,在编译时无法做到这一点。所有编译器都会创建目标代码 - 它不知道可能会也可能不会调用您编写的函数的外部代码。你有没有写过一个叫main
的程序?链接器确定应用程序中是否使用了函数(特别是符号)。我认为GCC默认会删除未使用的符号。