[CMake]为`释放'建筑类型设定`-O2',而不是默认的`-O3'.
作者: asyync1024创建于 2026年6月28日更新于 2026年6月29日
哈啰!
我已检查并找到,CMake默认为释放'建造了-O3-DNDEBUG'。 这是一个问题,因为众所周知,`-O3'在许多情况下会造成性能回落和代码膨胀。 带有回归实例的详情可见于[Arch Wiki:Makepkg#Higher opimation level](https://wiki.archlinux.org/title/Makepkg#Higher opimation level).
我想知道这是不是故意的? 如果不是,那么它可能应当被明确设定为-O2-DNDEBUG',因为-O2'是几乎所有C或C++项目所使用的安全优化默认。 此外,我认为-O3'不会给联系人带来好处,虽然这对LLVM更安全,但海合会具有更积极的-O3',使`释放 ' 变得有些不安全。
我没有任何基准,而且老实说,我不确定该如何衡量, 如果你知道怎么做,请告诉我!
谢谢!
内容来源: rui314/mold