gpt4 book ai didi

c - 确定预处理器中的优化级别?

转载 作者:太空狗 更新时间:2023-10-29 16:28:42 25 4
gpt4 key购买 nike

-Og 是一个相对较新的优化选项,旨在在应用优化的同时改善调试体验。如果用户选择 -Og,那么我希望我的源文件激活备用代码路径以增强调试体验。 GCC 提供 __OPTIMIZE__ preprocessor macro ,但它仅在优化生效时设置为 1。

有没有办法学习优化级别,如 -O1-O3-Og,以便与预处理器一起使用?

最佳答案

我不知道这是否是聪明的 hack,但它确实是 hack。

$ gcc -Xpreprocessor -dM -E - < /dev/null > 1
$ gcc -Xpreprocessor -dM -O -E - < /dev/null > 2
$ diff 1 2
53a54
> #define __OPTIMIZE__ 1
68a70
> #define _FORTIFY_SOURCE 2
154d155
< #define __NO_INLINE__ 1

clang 没有产生 FORTIFY 的。

关于c - 确定预处理器中的优化级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31718637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com