一般的に、C の拡張子は .C、C++ は .CPP、 ヘッダファイルは .H を使うと思います
が、VC++ では .CXX、.HPP、.HXX などの拡張子も関連付けられます。
C++ のソースコードは .C ではコンパイルできず、.CPP か .CXX にする必要があるよう
ですが、この .CPP と .CXX 、および .H、.HPP、.HXX はどのように使い分けますか?
C++ のソースファイルが .CPP であることに倣い、C++ で使うヘッダファイルを .HPP
にするというのも考えられますが、プリプロセス段階で取り込まれるヘッダファイルは
拡張子が何だろうとコンパイルできてしまいますし、MFC も .H ファイルを生成しま
す。
一体 VC++ は何を考えて、このような多様な関連付けを用意しているのでしょうか?
とりあえず.hppにしておくと、[h|c]ppという正規表現で、どちらのファイルも
一緒に扱えたりするので便利。
雑談ネタのようですね
>一体 VC++ は何を考えて、このような多様な関連付けを用意しているのでしょうか?
VC++自体は考えることはできません(AIソフトや人間ではありません)
開発・販売元のマイクロソフト(以下MS)に直接聞いてください
MSがコンパイラの利用規約として、開発時に決めたことなので、それに対して
批判をしても仕方の無いことじゃないですかね
使い分けを考えてこーなったわけではなく、初期の VC++ リリース時に他の言語処理系
で使っていた拡張子も VC++ で扱えるようにしただけだと思います。
# gcc が .cxx を使っていたような。
ヘッダファイルの拡張子はコンパイラの動作には関係ないので、単に「アイコンを表示
する」とか「統合環境で編集する」などを目的として関連付けされているんでしょう。
考えたことなかったなぁ。
こんなのもあるんだろうくらいにしか思っていなかったし。
私も渋木さんの意見に賛成ですね。
VCを出した時に既に使われていたソースやヘッダーファイルの拡張子を入れているだけ
だと思います。具体的にどの拡張子がどのコンパイラなのかと言われてもわかりません
けれど。入れておけば、参照する時に便利とかその程度の話では。