c - ARMCC 删除未使用的变量

标签 c optimization arm armcc

我正在尝试使用使用 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/

相关文章:

C: dup 和 close-on-exec

python - 煎饼排序中最短翻转序列的计数

ARM架构内核模块的交叉编译

c++ - 使用 C++ 将半字写入闪存时的 ARM Cortex-M HardFault 异常

c++ - 算术表达式开头的类型转换适用于什么?

c - rand() 没有给出指定数字内的值(在 C 中)

python - 矩阵线性组合的系数

multithreading - 当线程数翻倍时,我的矩阵乘法程序需要四倍的时间

assembly - MSR CPSR_C, #0x13 不能使用 ARM 程序集?

c++ - 一个根据一组编码标准检查 C/C++ 源代码的免费工具?