Skip to content

Instantly share code, notes, and snippets.

@arosh
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arosh/9030712 to your computer and use it in GitHub Desktop.
Save arosh/9030712 to your computer and use it in GitHub Desktop.
Makefile Policy

CXXFLAGSに書くコンパイルオプションの順番に関する方針

  1. ソースコードの振る舞いを変えてしまい、オプションの有無によってプログラムの計算結果を変えてしまうオプション。言語仕様やマクロなど (例:-std=c++11 -stdlib=libc++ -DNDEBUG -D_GLIBCXX_DEBUG)
  2. コンパイル時の振る舞いを変えてしまうが、生成バイナリには影響を及ぼさないオプション。警告など (例:-Wall -Wextra -Wshadow -Wfloat-equal)
  3. 生成バイナリを変えてしまうが、(ちゃんとしたプログラムを書いてさえいれば)プログラムの計算結果は変わらないオプション。最適化など (例:-O2 -g -march=native -static -ftrapv -flto)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment