競合するコンパイラフラグが渡された場合、GCCはどのように動作しますか?

ヴィルヘルムグレー:

GCCを次のように実行すると、

gcc -O3 -O2 foo.c

GCCは、渡された最後の最適化フラグを使用します(この場合O2)。ただし、これはすべてのフラグに当てはまりますか?たとえば、GCCを次のように実行すると、

gcc -mno-sse -msse bar.c

最後のフラグが渡されたのでSSEをサポートしますか、それとも未定義の動作になりますか?私の最初の実験は、それがSSEをサポートすることを示しているようですが、これがすべてのケースに当てはまるかどうかはわかりません。

カールノルム:

最初の例で述べたように、通常、後の行のオプションは以前に渡されたオプションをオーバーライドします。私は個人的に、-mまたは-fフラグのさまざまな動作に遭遇したことはありませんが、ドキュメント内の特定の参照を知りません。

一部のオプションはこのように動作しないことに注意してください:

$ gcc example.c -DABC -DABC=12
<command-line>: warning: "ABC" redefined
<command-line>: warning: this is the location of the previous definition

ですから、-UABCその警告を遮断するために、その中間にある必要があります。

余談ですが、clangこの問題の解決に特に優れています。コマンドラインオプションを無視すると警告が表示され、役立つ場合があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

以前にシングルトンとして登録された新しいコンポーネントインスタンスがプログラムで初期化された場合、Autofacはどのように動作しますか

addEventListenerを使用する場合、イベントパラメータはどのように渡されますか?

二項演算が割り当てに含まれる場合、コンパイラは自動変数をどのように処理しますか

コンパイラは<をどのように区別しますか?型消去後に両方が同じものにコンパイルされたように見える場合、<Number>からNumber>を拡張しますか?

式で使用される場合、コンパイラは宣言された変数をどのように記憶しますか?

バンドルとそのフラグメント間でクラスが複製された場合、クラスローダーはどのように動作しますか

ソースコードから手動でインストールされたパッケージに起因するコンパイル中のライブラリの競合を修正するにはどうすればよいですか?

Prometheusがダウンしている場合、Prometheusクライアントライブラリはどのように動作しますか?

特定のターゲットが選択されている場合にのみ、特定のファイルをコンパイルしてMakefileにフラグを追加するにはどうすればよいですか?

アプリはherokuにプッシュされましたが、ファイル名を正しく参照して、ローカルホストの場合と同じようにオンラインで動作するようにする方法

DAGが正常に実行された場合、コマンドラインからAirflowバックフィルをどのように実行しますか?

ブラウザヘッドなしでURLが要求された場合、HSTSはどのように動作しますか

プロンプトボックスが空の場合、またはキャンセルがヒットした場合に成績が入力されていないかどうかをプログラムに検出させるために、このコードを編集するにはどうすればよいですか?

私のコマンドは、ターミナルから実行した場合にのみ機能します。ランチャーを使用すると動作しません。それを修正するにはどうすればよいですか?

コマンドラインパラメーターがある場合、GDBを使用してプログラムのコアダンプファイルを分析するにはどうすればよいですか?

どのように私は条件がトライcatch文の助けを借りて、満たされている場合まで値を入力環境維持するために、ユーザーがコマンドループを作るのですか?

トランザクションプーリングが有効で、単一のステートメントが発行された場合、pgbouncerはどのように動作しますか?

CLRegionsが重複している場合、ジオフェンスはどのように動作しますか

Gradleプラグインによって作成された依存関係の競合を解決するにはどうすればよいですか?

複数のデフォルトゲートウェイがある場合、Windowsコンピューターはどのように動作しますか?

tkinterチェックボタンの選択方法を使用するように言われました。動作しません。保存された設定がtrueの場合、どうすればそれをクラックできますか?

SASでは、特定の条件が満たされた場合に、行のグループへのフラグ付けをどのように停止しますか?

コンピューターがセーフモードで正常に動作している場合、障害のあるドライバーを特定するにはどうすればよいですか?

関数名が括弧なしでcoutに送信された場合、コンパイラは実行時に出力する値をどのように決定しますか?C ++

指定された型の演算子のオーバーロードが存在する場合、C#コンパイラはジェネリックメソッドの参照の同等性をどのように判断しますか?

パラメータをクラスに渡して、そのパラメータがコンストラクタに渡されたときにJFrameが移動するようにするにはどうすればよいですか?

アウトバウンドTCPポートが使い果たされた場合、消費プランのAzure関数はどのように動作しますか?また、ポートの制限は何ですか?

内部コンパイル エラーが発生した場合はどうすればよいですか?

実行時に所有権が移動される可能性がある場合、Rustコンパイラはどのようにしてdropを呼び出すかを知るのですか?

TOP 一覧

  1. 1

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    Ansibleで複数行のシェルスクリプトを実行する方法

  4. 4

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  8. 8

    Chromeウェブアプリのウェブビューの高さの問題

  9. 9

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  10. 10

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  11. 11

    Reactでclsxを使用する方法

  12. 12

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  13. 13

    MLでのデータ前処理の背後にある直感

  14. 14

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  15. 15

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  16. 16

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  17. 17

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  18. 18

    テキストフィールドの値に基づいて UIslider を移動します

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    PowerShellの分割ファイルへのヘッダーの追加

  21. 21

    ソートされた検索、ターゲット値未満の数をカウント

ホットタグ

アーカイブ