我需要使用gcc编译器在我的“ C”语言项目(具有多个C文件)中找到无效的代码(未使用的功能)。请让我知道gcc选项来查找无效的代码。非常感谢您的帮助。
答案 0 :(得分:2)
对于全局函数,您可以尝试以下操作:两次构建项目,一次照常构建,一次使用-ffunction-sections -Wl,--gc-sections
进行构建(第一个是编译器标志,第二个是链接器标志)。然后,您可以在生成的二进制文件上运行nm
,以获取两次运行的符号列表。链接器将在第二次运行中删除未使用的功能,因此这是您的无效功能列表。
这假定了ELF,binutils链接器等通用目标,并且最终二进制文件未从其符号表中剥离。
答案 1 :(得分:1)
您可以使用GCC编译器选项-Wunused-function
来警告您未使用的static
函数。我不确定您如何检测未使用的“公共”功能,除了查看未链接的功能的映射文件之外。