みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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に代わるお勧めのソフトでも結構です
よろしくお願いします。

投稿日時 - 2010-02-25 23:04:24

QNo.5706447

困ってます

質問者が選んだベストアンサー

プロジェクトのプロパティの
構成プロパティ
 C/C++
  詳細
の、「コンパイル言語の選択」を「Cコードととしてコンパイル(/TC)」にしてみてもだめでしょうか?

投稿日時 - 2010-02-26 09:46:12

お礼

まさにこれが探していた答えです
ありがとうございました!

投稿日時 - 2010-02-26 23:42:06

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

「昔の C」では「ブロックの先頭でしか変数を定義できない」という仕様だったのですが, 「今の C」では「ブロックの先頭でなくても変数を定義できる」ことになっています>#4. ただし, この仕様を実装しようという気は, Microsoft にはさらさらないみたいです.
このように変更になったのは ISO/IEC 9899:1999 なのでもう今から 10年も前なんですけどねぇ. Microsoft は C についてやる気をなくしたんだろうなぁ. 「C++ でいいじゃん」みたいな感じ... かと思うと C++0x の C 関連部分で実装してないところもあるのがかなり謎.

投稿日時 - 2010-02-26 12:03:27

ANo.4

コンパイラのディフォルト設定を弄っていなければ .c ファイルはC言語としてコンパイルされます。
エラー内容、もしくはエラーの出るソースを出さないとなんともです。

.c ファイルはC言語としてコンパイルされるのでC++の文法で書くとエラーが出ます。
やってしまいがちな事としてはauto変数の宣言位置が間違ってるとかですかね。

※LSI-Cは16ビットのコンパイラです。いまどきこの選択肢は無いと思います。

参考URL:http://www.asahi-net.or.jp/~qb3k-kwsk/rpg/program/tool/vsee2008/vsee2008.html

投稿日時 - 2010-02-26 06:15:25

ANo.3

>Visual C++ 2008に代わるお勧めのソフト
 LSI C-86 v3.30c 試食版

投稿日時 - 2010-02-25 23:30:54

お礼

ありがとうございます
早速試してみます!

投稿日時 - 2010-02-26 23:42:37

ANo.2

Microsoft Visual C++ 2008 Express Editionで
普通に.cファイルのコンパイルできますよ。

エラーの内容を書いてもらうと、何かアドバイスできるかも
しれません。

投稿日時 - 2010-02-25 23:25:38

ANo.1

「コンパイラする」って奇怪な表現は誰に教わった?
せめて「どういう内容のファイルでどのようにコンパイルしたらどのようなエラーが出たのか」くらいは書いてくれないかな. たぶん世の中にはあなたが思うほど超能力者は多くないとおもうから.

投稿日時 - 2010-02-25 23:23:16