多くのタイプ変換とキャスティングがある従来のcプロジェクトがあります。gccを使用してキャッチタイプのオーバーフローをキャッチ
通常オーバーフロー動的挙動を確認するために、 gcc(及びC langは)そのための組み込み関数を定義します組み込み関数:BOOL __builtin_add_overflow(TYPE1のA、TYPE2のB、TYPE3 * RES)
結果がオーバーフローした場合、関数はtrueを返します。そうすれば、私のプログラムはこの状態に遭遇し、それに従って行動するかもしれない。
レガシーコードを変更せずに同じ機能を持たせるために、組み込み関数がtrueを返す場合、gccにそのような組み込み関数を使用させ、指定された関数をキャッチャーとして呼び出すことは可能ですか?私は、私のようなものを見つけることができます希望:
無効_cyg_add_overflow_catcher(A、B、__FILE、LINEを)。
GCCはすでにinstrument functionsです。トレーサビリティとプロファイリングのために、コンセプトは変わっていません。 アイデア
あなたは単に[UBSan](http://developers.redhat.com/blog/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan)を使用することはできますか? – yugr