GCC优化以减少目标ram使用

GCC优化以减少目标ram使用,gcc,optimization,compiler-construction,embedded,ram,Gcc,Optimization,Compiler Construction,Embedded,Ram,一般来说,减少目标内存使用的最佳优化选项是什么 我将GCC用于ARM Cortex-M4。请查看上面的链接。否则:-Os编译器在最小化RAM使用方面所能做的不多,实际上它所拥有的只是局部变量的知识,以及如何最小化堆栈深度。通常,如果您要求它减小代码大小,它会通过进行更多的函数调用来做到这一点,从而提高RAM的使用率。所以我建议对速度进行优化。但是,与所有其他优化一样,您需要测量特定应用程序的结果,以找出最有效的方法。@AndrejsCainikovs-这似乎并没有真正回答这里提出的问题,因为那里

一般来说,减少目标内存使用的最佳优化选项是什么


我将GCC用于ARM Cortex-M4。

请查看上面的链接。否则:
-Os
编译器在最小化RAM使用方面所能做的不多,实际上它所拥有的只是局部变量的知识,以及如何最小化堆栈深度。通常,如果您要求它减小代码大小,它会通过进行更多的函数调用来做到这一点,从而提高RAM的使用率。所以我建议对速度进行优化。但是,与所有其他优化一样,您需要测量特定应用程序的结果,以找出最有效的方法。@AndrejsCainikovs-这似乎并没有真正回答这里提出的问题,因为那里的链接只讨论代码大小,而这个问题是关于数据大小的(Cortex-M4处理器通常从闪存执行,海报询问RAM)。不过,这个问题可能是基于误解。我个人要做的第一件事是使用objdump来了解RAM的使用方式……我倾向于首先查看我的大缓冲区,以便轻松获胜。此外,任何初始化的数据通常会默认复制到RAM中,以提高访问速度作为“数据”但是,您可以考虑将其保存在Flash中,并避免RAM的重复使用——以快速访问管道的Flash空间的数据访问速度为代价。