私は最近、MS Visual Studio 2003 コンパイラを使用してコンパイルされる C および C++ で書かれたプロジェクトを引き継ぎました。私はコンパイラ設定とコンパイラ出力の経験が少し不足しているので、指定されたセットアップが本当に違いを生むかどうかを知りたいです (コンパイル出力またはパフォーマンスによる)。
このプロジェクトでは、C と C++ が混在しています。主要部分は C で書かれていますが、C++ で書かれたいくつかのクラスを使用しています。したがって、質問の最初の部分は次のとおりです。(MS VS 2003) コンパイラはファイルごとに違いがありますか (c 機能のみを使用して .cpp ファイルのプレーン c をコンパイルし、クラスを使用してファイルの c++ スタイルをコンパイルします)? それを使用する理由はありますか (パフォーマンスの向上、下位互換性)?
このプロジェクトは、try-catch ブロックも使用しません (単純な C ではないため)。ただし、コンパイラ設定の例外処理オプションは無効になっていません。質問の 2 番目の部分: try-catch を使用せずにコンパイラで無効にしないことで、パフォーマンスが向上する (またはその他の論理的な理由がある) 可能性はありますか?
はい、私はこの設定にかなり混乱していて、理解しようとしています。