g++:如果在 -O2 或 -O3 之前指定,-fno-omit-frame-pointer 是否有效
g++: Will -fno-omit-frame-pointer be effective if specified before -O2 or -O3?
我们有一个复杂的分层make文件系统,其中CXXFLAGS
被附加到几个地方(单个库的几个单独的makefile(。
有一个主文件似乎包含在所有其他制作文件中。所以我在那里指定了-fno-omit-frame-pointer
标志。
当我编译时,我看到上面的标志,然后我看到-O2
.我的问题是,如果-O2
标志设置-fomit-frame-pointer
,最新的设置会生效吗?
使用 gcc/g++,您可以使用 -Q --help=optimizers
标志来找出启用的优化的确切集。
使用我的 gcc 版本,我得到:
$ gcc -Q --help=optimizers -O2 | fgrep omit-frame-pointer
-fomit-frame-pointer [enabled]
和
$ gcc -Q --help=optimizers -fno-omit-frame-pointer -O2 | fgrep omit-frame-pointer
-fomit-frame-pointer [disabled]
所以-O2
似乎并没有覆盖之前的-fno-omit-frame-pointer
.
无论如何,请检查您的环境。
相关文章:
- -fno-unwind-tables 和 -fno-async-unwind-tables 不起作用 NDK clang
- 堆叠协程 + gdb = "previous frame inner to this frame (corrupt stack)?"
- 为什么子项目 CMAKE 不考虑 fno-sanitize,请禁用目标的消毒器
- -fno-char8_t 的 MSVC 等效值是多少?
- Qt Creator 在执行步骤 "make" 时出现编译错误,-fno-stack-limit
- Qt creator语言 - fno-elide-constructors 不起作用
- "-fno-semantic-interposition"与"-fvisibility=p
- OpenCV VideoCapture Partial Frame Corruption
- openh264 Repeating frame
- 使用 gcc 的 -fno-math-errno 可能有什么副作用?
- 在Macbook Pro上实现clang -fno-stack-protector编译代码时出现问题
- 为什么仅 -fno-signed-0 就可以实现优化,而似乎也需要 -ffinite-math-only (gcc)
- g++:如果在 -O2 或 -O3 之前指定,-fno-omit-frame-pointer 是否有效
- GCC 仍然使用 -fno-threadsafe-static 生成保护变量
- clang, std::function and -fno-rtti
- C# 到非托管 C++ DLL 访问冲突/"frame not in module"
- glibc函数的GCC、-flto、-fno内置和自定义函数实现
- 为什么混合 -fexceptions 和 -fno 异常没有链接器警告
- 即使使用-fno-elide-constructors编译,复制省略似乎也会发生
- 如何检查库是否使用 -fno-rtti 编译