私はCMakeの代わりにwafビルドシステムを使い始めました。これまでのところ、それは素晴らしい経験でした。ただし、最適化フラグを条件付きでコンパイラーに渡す良い方法がわかりません。私が書いたコードのいくつかは、最近のgccリリースでのみ利用可能な特定の最適化フラグの恩恵を受けていますが、コードを可能な限り移植可能にしたいと思っています。したがって、コンパイルに使用されるcxxフラグのリストに追加する前に、コンパイラがこれらのフラグをサポートしているかどうかを確認したいと思います。これを行う最も簡単な方法は何ですか?
質問する
918 次
1 に答える
4
ConfigSet cfg.envのstash機能を使用して、コードチャンクでCFLAGSをテストできます。
- stash cfg.env
- CFLAGSを追加する
- チェックを実行し、チェックが失敗した場合はcfg.envを復元します
また、特定のCFLAGSは移植性がないことに注意してください。コンパイラーまたはターゲットのアーキテクチャーを変更すると、それらは機能しなくなります。コードを別のコンパイラで動作させたい場合は、コンパイラを識別できる場合にのみ特定のCFLAGSを有効(追加)にする必要があります。
コードがオープンソースである場合、コードのパフォーマンスが重要でない場合は、わざわざCFLAGSを課さないでください。ほとんどのLinuxディストリビューションは、ターゲットに応じてグローバル最適化フラグを追加します。
于 2011-11-19T06:04:45.670 に答える