我正在尝试使用使用 ARMCC 编译器的 Keil ARM 工具删除未使用的代码。 我之前使用过基于 GCC 的 ARM 编译器,我可以使用以下命令轻松删除未使用的代码:
-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。
最佳答案
我们从 ARM 支持处收到的官方答复是,目前(ARMCC v5.03 [Build 24])ARMCC 编译器中没有此类选项 - 他们只是从未考虑过这种情况。
希望它将被添加到 future 的 ARMCC 版本中。
关于c - ARMCC 删除未使用的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14836528/