- ベストアンサー
Visual C++ 2008で .cファイルのコンパイラができない
現在Microsoft Visual C++ 2008 Express Editionでc言語を勉強していて 今の所しばらくc++の勉強をする予定はありませんので、 c言語のみ勉強したいのですがVisual C++ 2008で、.cファイルを作成し、 これをコンパイルしようとすると必ずエラーが出ます。 原因を色々なページを回って探したのですが 「.cppファイルにすればコンパイルできます」という回答しか見当たりません c言語でも最初のうちは.cppファイルでも問題なく動くようですが、 高度なレベルに行くとcpp独自のエラーが出ると聞いております。 このような状態でc言語を勉強するのも微妙です なんとか.cファイルでコンパイラする方法は無いでしょうか? あるいはVisual C++ 2008に代わるお勧めのソフトでも結構です よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
プロジェクトのプロパティの 構成プロパティ C/C++ 詳細 の、「コンパイル言語の選択」を「Cコードととしてコンパイル(/TC)」にしてみてもだめでしょうか?
その他の回答 (5)
- Tacosan
- ベストアンサー率23% (3656/15482)
「昔の C」では「ブロックの先頭でしか変数を定義できない」という仕様だったのですが, 「今の C」では「ブロックの先頭でなくても変数を定義できる」ことになっています>#4. ただし, この仕様を実装しようという気は, Microsoft にはさらさらないみたいです. このように変更になったのは ISO/IEC 9899:1999 なのでもう今から 10年も前なんですけどねぇ. Microsoft は C についてやる気をなくしたんだろうなぁ. 「C++ でいいじゃん」みたいな感じ... かと思うと C++0x の C 関連部分で実装してないところもあるのがかなり謎.
- buriburi3
- ベストアンサー率44% (353/792)
コンパイラのディフォルト設定を弄っていなければ .c ファイルはC言語としてコンパイルされます。 エラー内容、もしくはエラーの出るソースを出さないとなんともです。 .c ファイルはC言語としてコンパイルされるのでC++の文法で書くとエラーが出ます。 やってしまいがちな事としてはauto変数の宣言位置が間違ってるとかですかね。 ※LSI-Cは16ビットのコンパイラです。いまどきこの選択肢は無いと思います。
- yomyom01
- ベストアンサー率12% (197/1596)
>Visual C++ 2008に代わるお勧めのソフト LSI C-86 v3.30c 試食版
お礼
ありがとうございます 早速試してみます!
- Lchan0211
- ベストアンサー率64% (239/371)
Microsoft Visual C++ 2008 Express Editionで 普通に.cファイルのコンパイルできますよ。 エラーの内容を書いてもらうと、何かアドバイスできるかも しれません。
- Tacosan
- ベストアンサー率23% (3656/15482)
「コンパイラする」って奇怪な表現は誰に教わった? せめて「どういう内容のファイルでどのようにコンパイルしたらどのようなエラーが出たのか」くらいは書いてくれないかな. たぶん世の中にはあなたが思うほど超能力者は多くないとおもうから.
お礼
まさにこれが探していた答えです ありがとうございました!