GCC 针对 CPU 和内存使用的优化

sta*_*icx 4 memory gcc cpu-usage compiler-optimization

有没有办法使用选项标志在 cpu 和内存方面优化 GCC 编译代码?使用 O3 而不是 01 会增加还是减少内存或 CPU 使用量?

man*_*lio 6

关于内存使用:

\n
    \n
  • -Os减少程序的二进制大小。它对运行时内存使用的影响有限(C/C++ 内存分配和释放是“手动”的)。

    \n

    我说有限是因为尾递归优化可以降低堆栈使用率(此优化也将使用-O2/执行-O3)。

    \n
  • \n
  • -flto链接时间优化)选项还可以降低二进制大小。

    \n
  • \n
\n

CPU使用率:

\n\n

也许您应该使用-O2它并且不用担心:如果您希望节省电量/内存,应用程序的整体设计将比编译器开关更有效。

\n