GCC は、ファイル拡張子 (.c、.cc)、コマンド ライン パラメーター (-x)、または適切なコンパイラを直接呼び出す (gcc ではなく g++ など) に基づいて、コンパイラを自動的に切り替えます。
ファイル内のプラグマを使用してこれらをオーバーライドする方法はありますか?
コメント後に更新:
現在 50/50 C および C++ であるコード ベースを、C++ コンパイラで完全にコンパイルされるように変換しています。これは、現在の「C」モジュールが、変更できない (そしてラップしたくない) 新しい C++ ベースを呼び出せるようにするためです。C++ リンケージが追加されたとしても、実際には C であるファイルの拡張子を .c のままにしたいと思います。それらを「.c」のままにしておくことは、それらがそのままである理由を示していると思います(私はここで将来の世代を考えています! ;-))が、変更された各Cファイル名に対応するようにビルドシステムを変更することも大きな仕事です. さらに悪いことに、C ファイルの小さなサブセットは正常に C++ に変換されないため、C++ ベースを呼び出さない限り、C のままにしておきたいと思います。のプロジェクトは大きすぎます。