整理在工作中见到的编译选项。
-fdata-sections 选项的目的是让编译器为每一个单独申明的数据 section 实际分配一个 section,而不是占用 .bss ,在某些系统上需要显式的使用这一参数。
-c 只编译、汇编,不链接
-ansi ANSI标准
-std=c99 C99标准
-std=gnu99 ISO/IEC 9899:1999以及GNU扩充
-static 禁止动态链接
-fno-strict-aliasing 关闭严格别名优化,使用此选项会损失一些性能。在-O2优化中,假定不同类型的指针不会指向同一区域,并以此进行优化,使用该选项可以关闭此假设带来的优化。
-frename-registers 试图驱除代码中的假依赖关系,这个选项对具有大量寄存器的机器很有效
持续更新