我正在研究嵌入式系统。 我使用 C 编程和 ARM 编译器进行编译。
我正在处理的代码已经出现了很多人已经开发出来的代码。它也使用函数指针。
是否有任何工具可以帮助我检测死代码? 如果没有,你怎么建议我去做?
答案 0 :(得分:4)
ARM链接器支持跨模块优化,它将删除对象模块中未使用的函数(包括类成员函数)。函数中的死代码将由优化器处理。
如果您想从源中实际删除代码,那么静态分析工具将能够检测到与编译器优化器可以检测到的类似的死代码部分。
答案 1 :(得分:0)
您是否尝试过反馈链接器选项?它创建一个包含未使用函数列表的文件。
请参阅ARM Compiler toolchain Linker Reference > --feedback=file