【发布时间】:2022-01-02 17:16:02
【问题描述】:
如果编译器有一些命令行标志并且代码有一些与这些标志不兼容的编译指示,将使用哪一个?
更清楚一点:我正在使用 g++ -g -O2 -std=gnu++17 -static {files} 编译 - GCC 版本 g++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0。
如果我在我的代码中写#pragma GCC optimize("Ofast"),最终代码是用-O2还是-Ofast编译?
【问题讨论】:
-
该编译指示仅对当前translation unit 是本地的,不会影响任何其他翻译单元。