bash - 哪个 gcc 版本引入了`-fstack-protector-strong`?
问题描述
在我的构建脚本中,我想有条件地添加-fstack-protector-strong
到我CFLAGS
的 gcc 是否支持它(我的项目使用多个版本的 gcc 构建)。
如果 gcc 支持,我希望我的构建脚本(用 bash 编写)解析输出gcc --version
并自动添加此标志。
哪个版本的 gcc 最早包含-fstack-protector-strong
标志?
解决方案
我希望我的构建脚本(用 bash 编写)解析 gcc --version 的输出,并在 gcc 支持的情况下自动添加此标志。
而不是这样做,只需gcc -fstack-protector-strong
使用有效的源文件调用并查看它是否编译。这种方法普遍适用于任何编译选项,这将节省您搜索哪个版本具有哪些选项的时间。您可以从 CMake的 check_c_compile_flag函数中获得灵感。
推荐阅读
- spring-boot - 为什么我的 mockMvc 没有提交任何内容?
- react-native - 配置 jetifier 后的 react-native run-android
- azure - 用于虚拟环境编排和生命周期管理的基于 Azure 云的管理系统
- javascript - 我有一个与 Visual Studio 测试页 .asmx 配合使用的 Web 服务 .asmx,但向客户端返回 500
- ddev - 向网络公开 ddev web 端口
- sql - 无法使用提示更新表
- python - Error type: range() integer end argument expected, got LP_c_ulong
- android - 当我在单击视图侦听器上使用时,未显示 Android 列表视图
- python - 使用 SQLAlchemy 动态附加 SQLite 数据库
- angular - 将所有事件记录到 Angular 上的文件中