C で開発され、独自のコンパイラとリンカーを使用する ARM IDE 用の IAR 組み込みワークベンチを使用する組み込みプロジェクトのマップ ファイルにリストされている未使用の関数をすべて削除する方法があるかどうか疑問に思っていました。
IAR C/C++ Compiler for ARM 8.30
IAR ELF Linker for ARM 8.30
IAR Assembler for ARM 8.30
マップ ファイルにリストされているすべての関数が、実行時に実際に使用される使用済み関数であるとは限らないことに気付きました。未使用の関数をすべて削除する最適化方法はありますか?
たとえば、3 番目のライブラリがプロジェクトで使用され、FuncA()
その中にスイッチ ケースがあり、すべてのケースで異なる静的関数が呼び出される可能FuncA1()
性がFuncA2()
ありますFuncAn()
。コードと の使用法に基づいて各ケースを入力すると、すべての、、 ...関数がプロジェクトで呼び出されるFuncA()
わけではないことは明らかですが、それらのすべてがマップ ファイルにリストされています。FuncA1()
FuncA2()
FuncAn()
このような関数をマップ ファイルから削除することはできますか? はいの場合、どのように?