私はCが初めてです(Javaから来たので、初めてプログラミングを学んでいません)。「Cプライマープラス」という本を読んでいます。私は、Windows で C プログラムを開発するためのコンパイラや環境の違いを理解するために、あちこち探し回っています。
MinGW と Visual Studio 2010 をインストールしました。両方の環境で hello world のコンパイルをテストしました。MinGW については、Code::Blocks か vim を検討しています。Code::Blocks でのマルチ コンパイラ サポートは便利に思えますが、この機能がどれほど役立つかを理解できるレベルではありません。
私は、Visual Studio のような IDE によって隠された作業をバックグラウンドで行うことに甘やかされるのではなく、本来あるべき方法で C を学習したいと考えています。理解が深まれば、より便利な環境に切り替えてもかまいません。
私が Visual Studio に違和感を覚える理由は、gcc ほど標準をサポートしていないからです。私は、VS が本番環境で広く使用されており、これがまさにその通りであるという議論を読みました。一部の人々は、私が望んでいないところならどこでも C を書き始めるだけだと言います。コマンドプロンプトを体験して、リンクがどのように行われるかなどを確認する人もいます。
これはウィキペディアからのものですが、C のコンパイルに Visual C++ を使用すべきではないと書かれています。http://en.wikipedia.org/wiki/Visual_C%2B%2B#Issues
ですから、ここで明確にしなければならないことがあります。数ブロックかもしれません。
私の理解では、Visual Studio は、Windows プラットフォーム向けに開発している限り適切であり、コーディングを開始したいだけの人にも適しているということです。
より最新の標準を使用して gcc (Linux で使用されている) を使用する場合は、MinGW を使用する必要があります。MinGW は、Windows に移植された最小の gcc ライクな環境であるため、Linux と同様の環境を使用できるため、VS よりもサポートされている標準にメリットがあります。また、これは私のプログラムが Linux でよりうまくコンパイルされるようにするためのものであり、Windows MinGW でプログラムをコンパイルして Linux で実行するためのものではありませんよね?
ここで言う移植性とは、各プラットフォームでソース コードをコンパイルすることであり、ある特定のプラットフォームでプログラムをコンパイルして、実行されたファイルを他のプラットフォームで使用することではありませんね。