• ベストアンサー

コンパイル時のエラーについて教えてください

よろしくお願いします。現在、Borland社のC++compiler5.5を使ってます。プログラムファイル名 は、「hello.c」です。 1: #include <stdio.h> 2: 3: int main(void) 4: { 5: printf"(hello,world"); 6: return 0; 7: } このプログラムをc:\borland\bcc55\lessonの「lesson」の中に入れてます。コマンドプロンプトで、c:\borland\bcc55\lessonに移動してから,bcc32 hello.cを実行すると, 1、エラーE2040 hello.c 1:宣言が終了していない。 2、エラーE2206 hello.c 1:不正な文字 "#"(0×23) と出ます。 何度やり直しても、同じ結果が出ます。間違いに気づかないのですが、詳しい方、ご指摘をお願いします。

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

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.14

★結果報告からすると、全て正常にコンパイルできています。 ・前は、『bcc32 hello.cpp』でエラー『不正な文字'#' (0x23)』が出ていましたが、  今は出ていませんね。これが正常です。 ・また、『警告 W8065』は『#include <stdio.h>』をインクルードしていないので  出てくる正常な警告メッセージです。 ・なぜ、警告メッセージが出るかというと『printf』関数を使うには、その型などの  プロトタイプ宣言が必要だからです。→型や引数をチェックするために。(規格上) ・よって、結果報告の 1 ~ 3 は正しい警告メッセージです。問題ありません。 ・仮に『extern int printf( const char *format, ... );』の1行を『#include』  の代わりに先頭に追加すれば、警告メッセージは出なくなるはずです。→確認! ・これは、『#include <stdio.h>』ファイルの中で定義されている1行ですので、  必要な『printf』関数の部分だけを宣言すると警告メッセージは出なくなるのです。 ・以上。不審な点はどこも見当たりません。→すべて正常です。 最後に: ・結果報告の 1 ~ 4 はすべて実行可能なプログラムは出来ますよね。→確認! ・そして、どれを実行しても正常な実行結果が得られたはずですよね。→再確認! ・これで、『hello.c』ファイルも正常にコンパイルできましたので、問題は解決  しましたよ。→これで、まともな『C』の学習が出来ます。良かったですね。 ・以上。アドバイスを終わります。頑張って下さい。さようなら。

noname#220054
質問者

お礼

数々のご指摘とアドバイスありがとうございます。1つ1つの確認の仕方や、その内容の説明など、とても参考になりました。 これからの学習に大変助かります。今まで、知らなかったことなどずいぶんと吸収することができました。 最後の解決までお付き合いしていただき感謝しています。大変お手数をおかけしました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (13)

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.3

誤 5: printf"(hello,world"); 正 5: printf("hello,world");

noname#220054
質問者

お礼

ご指摘ありがとうございます。「"」の入れる場所を理解することができました。

noname#220054
質問者

補足

回答ありがとうございます。手元にある、テキスト本でよく確認したら、" の位置が間違っていました。ただ、修正したのですが、直りませんでした。ほかに何か原因があるようです。

全文を見る
すると、全ての回答が全文表示されます。
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

「1:」とか行番号表示の部分を、ソースに含めていると、質問文みたいなエラーが発生しますね。 削ってみては。もしそうならですが。

noname#220054
質問者

お礼

アドバイスありがとうございます。いろいろ試した結果、ご指摘のとおり、行番は入れないほうが良い結果が得られました。これからは行番をつけないで、プログラミングするようにします。

noname#220054
質問者

補足

回答ありがとうございます。ご指摘のとおり、行番を削ってみたのですが直りませんでした。ほかに原因があるようです。

全文を見る
すると、全ての回答が全文表示されます。
  • phototon
  • ベストアンサー率26% (222/841)
回答No.1

5: printf"(hello,world"); あきらかにここなのでは

noname#220054
質問者

お礼

アドバイスありがとうございます。ご指摘のおかげで、「"」をつける本来の場所がわかるようになりました。

noname#220054
質問者

補足

回答ありがとうございます。手元にあるテキスト本で、よく確認したら、"の位置が間違っていました。ただ、直しても同じエラーが出てしまいます、ほかに原因があるようです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • BCC・stdio.h・_stddef.hのエラー

    BCCと同梱されているstdio.hのエラーなのですが、 stdio.hのエラーは他では出なかったので、 ソース自体がおかしいのかと思っていますが、よく分かりません。 一応ソースを載せます。 #include <stdio.h> int main(int argc, char *argv[]) { if(argv[1] == "") { printf("---(Ver1.00.01)\n"); printf("easy.exe [filename]\n"); printf(" [filename] - ファイル名を指定してください.\n"); } return 0; } これによって次のエラーを吐いてきます。 エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\_stddef.h 53: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\_stddef.h 72: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 51: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 104: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 105: 宣言が正しく終了していない エラー E2293 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 140: ) が必要 エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 150: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 151: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 152: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 154: 宣言が正しく終了していない エラー E2293 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 155: ) が必要 エラー E2293 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 156: ) が必要 エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 160: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 161: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 162: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 164: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 165: 宣言が正しく終了していない エラー E2141 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 166: 宣言の構文エラー エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 172: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 173: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 174: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 175: 宣言が正しく終了していない エラー E2141 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 177: 宣言の構文エラー エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 181: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 188: 宣言が正しく終了していない エラー E2228 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 188: エラーあるいは警告が多すぎる stdio.h,_stddef.hのソースは一切変えたりしていません。 また、BCCのエラーは、stdio.hとprintfを抜いて int main(int argc, char *argv[]) { if(argv[1] == "") { } return 0; } としたときに 宣言が正しく終了していない と表示されます。 環境は WindowsXP SP1 BCC Developer です。 よろしくお願いします。

  • コンパイラの設定

    Borland C++ Compiler 5.5をインストールしコンパイルしようとすると hello.c: エラー E2209 hello.c 1:インクルードファイル'stdio.h'をオープンできない。 警告 E8065 hello.c 4:プロタイプ宣言のない関数'printf'を呼び出し(関数 main()) *** 1 errors in Compile*** と出ててしまいました。 そして、過去にも同じような質問があり、 bcc32.cfgファイルに -I"c:\borland\Bcc55\include" -L"c:\borland\Bcc55\lib" を作成しても、何も変わらないのですが…。 教えて下さい。

  • borlandについてなんですが

    windows vista にBorland C++ Compiler 5.5をインストールし、説明が書いてあるサイトどおりに設定したんですけど、コンパイルすると エラーE2209 hello.c 1:インクルードファイル'stdio.h'をオープンできない 警告 W8065 hello.c 5: プロトタイプ宣言のない関数'printf'の呼び出し(関数 main) と出てコンパイルすることができません。 使用したプログラムは #include <stdio.h> int main(void) { printf("Hello.\n"); return 0; } です。 解る方いましたら教えてください。 よろしくお願いします。

  • コンパイル時のエラーについて>エラー E2209 警告 W8065?

    以前にも似たような質問がでていましたが・・・ 初心者なのですが下記のようにエラーによりコンパイル出来ません。 どなたか原因のわかる方いましたらいお教え下さい。 宜しくお願いします。  C:\source>bcc32 sample1.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland sample1.c: エラー E2209 sample1.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample1.c 4: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main) *** 1 errors in compile *** もちろんbinディレクトリに bcc32.cfg【-I"c:\Borland\Bcc55\Include" -L"c:\Borland\Bcc55\Lib"】 と ilink32.cfg【-L"c:\Borland\Bcc55\lib"】 は入れてあります。 なんでできないんでしょかTT

  • borlandについて

    こんばんは Borland C++ Compiler 5.5 を使っているのですが… _______________ |#include <stdio.h>      |←のようなプログラムをコンパイル |               | したら |int main(void) |1:インクルードファイル'stdio.h'を |{              | オープン出来ない | printf("Hello.\n");   |5:プロントタイプ宣言のない関数 | return 0;        | 'printf'の呼び出し(関数mein) |}              |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ と出てきますどうしたらよいでしょうか。

  • C++のコンパイルエラーが

    おこります。 --------------------------------- #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } -------------------------------------- をコンパイルするのですができません。 以下のエラーが出ます。 --------------------------------------- エラー E2209 sample.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample.c 5: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main ) *** 1 errors in Compile *** -------------------------------------

  • コンパイル時のエラーについて>エラー E2209 警告 W8065?

    初心者なのですが下記のようにエラーによりコンパイル出来ません? どなたか原因のわかる方いましたらいお教え下さい。 宜しくお願いします。  C:\source>bcc32 sample1.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland sample1.c: エラー E2209 sample1.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample1.c 4: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main)

  • bcpadでコンパイルできない

    この前学校でbcpadをつかった授業があったので家でやってみようと思い、 Borland C++ Compiler 5.5 とCPad for Borland C++Compiler をインストールして設定もしました。 そしてbcpadに #include<stdio.h> int main(void){ printf("Hello World"); return 0; } と入力し、保存してコンパイルしてみました。 しかし、以下のようなエラーメッセージが出ました。 「コンパイルに失敗しました ファイル"C:Users\aaaa\downloads\Documents\C\hello.exe" は存在しません」 また下のメッセージのところには hello.cpp: Error E2379 hello.cpp 7: Statement missing ; in function main() *** 1 errors in Compile *** と出ていました。 何がダメなのか全くわかりません。 OSはwindows7です。 どなたか詳しい方ご教授をお願いします。

  • BCC Developerについて。

    Borland C++ Compiler、BCC Developerを使って #include <stdio.h> void main(){ printf("Hello C world.\n"); } をメイクしてみたのですが、 インクルードファイル 'stdio.h' をオープンできない 、と表示されコンパイルできませんでした。 環境設定は、コンパイラにbbc32.exeを指定すればいいだけなんでしょうか?よろしくお願いします。

  • C言語でいきなりつまづいてます。

    C言語でいきなりつまづいてます。 何がダメなのかご教授ください。 OSはウインドウズXPです。 (1)Borland C++ Compiler 5.5 With Command Line Tools Version 5.5.1をインストールしました。 (2)BCC5.5.1 環境ファイルパス設定プログラムをインストールしました。 (3)以下のソースを書きました。 #include <stdio.h> int main(void) { printf("Hello, \nworld"); return 0; } (4)hello.cというファイル名で保存しました。 (5)コマンドプロンプトでフォルダを(4)のファイルが置いてあるフォルダに指定し bcc32 hello.cと入力しました。 (6)出力が   hello.c になります。 エラーなどはありません。 以上です。 よろしくお願いします。