ARMCCコンパイラを使用するKeilARMツールを使用して未使用のコードを削除しようとしています。以前、ARM用にGCCベースのコンパイラを使用しましたが、次の方法で未使用のコードを簡単に削除できました。
-fdata-sections -ffunction-sections
ARMCCの場合、同様のフラグが見つかりました
--split_sections
ただし、関数でのみ機能し、変数では機能しません。
ARMCCで未使用の変数を削除する方法はありますか?
編集:
たとえば、次のライブラリコードを指定します。
lib.c :
static int veryBigArray[1000000UL];
int func1() { ... }
int func2() { memset(veryBigArray, 0, sizeof(veryBigArray); }
と私のプロジェクトコード:
project.c:
int main(void)
{
func1();
}
コンパイラ/リンカーの最適化を使用してfunc2()とveryBigArrayを削除したいと思います。