Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇2555:
C言語のコンパイル方 [うみねこ] 11/10 10:12

 ├◇2556:Re:C言語のコンパイル方 [勉三] 11/10
 │└◇2558:Re[2]:C言語のコンパイル方 [うみねこ] 11/11
 └◇2557:Re:C言語のコンパイル方 [もぐりん] 11/10
  ├◇2559:Re[2]:C言語のコンパイル方 [うみねこ] 11/11
  │├◇2560:Re[3]:C言語のコンパイル方 [きゃみ] 11/11
  │├◇2564:Re[3]:C言語のコンパイル方 [勉三] 11/12
  ││└◇2566:Re[4]:C言語のコンパイル方 [な] 11/12
  │└◇2568:Re[3]:C言語のコンパイル方 [な] 11/12 <
  └◇2565:Re[2]:C言語のコンパイル方 [勉三] 11/12
   └◇2567:Re[3]:C言語のコンパイル方 [な] 11/12


2555● C言語のコンパイル方[ うみねこ ] 2004 11/10 10:12
すいません、また来ました・・・。
cygwinをダウンロードして、
さっそくCのコンパイラとして使おうと思って#include<stdio.h>
int main(void)
{ printf("Hello, World!");}
を、ダウンロードの際に作られたhomeというフォルダに入れて、
gcc hello.c (hello.cというファイル名にしました)
と入力しましたが、
hello.c:3:28: warning: no newline at end of file
と出てきてしまい、実行ファイルを作れませんでした。
どうやったらコンパイルができるようになるか、
どんなことでもいいので、ご存知の方、
どうか教えてください!
(メモ帳、windowsXPを使っていて、
恥ずかしいことですが、バージョンはわかりません・・・
超初心者です、ごめんなさい・・・)
スレッド一覧


2556● Re:C言語のコンパイル方[ 勉三 ] 2004 11/10 15:01
a.exeとして出来ていませんか?
スレッド一覧


2558● Re[2]:C言語のコンパイル方[ うみねこ ] 2004 11/11 04:52
できてました。gcc hello.cだけだったので
そうなちゃったんですね!
gcc hello.c -o hello
としたらちゃんとhello.exeが作れました。
ありがとうございました。
スレッド一覧


2557● Re:C言語のコンパイル方[ もぐりん ] 2004 11/10 20:16
> hello.c:3:28: warning: no newline at end of file
これ以外にエラーメッセージが出ていませんか?

もしかしてソースを改行しないで1行に全部書いていないでしょうか?
それと、main関数の戻り値(return 0;)が抜けています。
C言語の本をよーく読んでから挑戦してください。
ちなみに、メモ帳で作成したソースでもちゃんと改行していれば、上記のワーニングメッセージは出ません。
それと、gccのコマンドラインオプションを指定していないので、実行ファイルはa.exeになります。
スレッド一覧


2559● Re[2]:C言語のコンパイル方[ うみねこ ] 2004 11/11 05:03
回答ありがとうございました!
>> hello.c:3:28: warning: no newline at end of file
>これ以外にエラーメッセージが出ていませんか?

エラーメッセージはこれだけです。
return 0;もつけて全部改行もしたんですが、
#include<stdio.h>

int main(void)

{
printf ("Hello, World!");

return 0;
}
・・・やっぱり出てきます。
(実行ファイルはちゃんと出来るんですが)
いったい問題はなんなのでしょう?
スレッド一覧


2560● Re[3]:C言語のコンパイル方[ きゃみ ] 2004 11/11 05:10
#include<stdio.h>

int main(void)

{
printf ("Hello, World!");

return 0;
}

上のプログラムの最後の行に2,3改行してからコンパイルしてみたら?最後の行を改行しないでエラーでることあるからさ。
スレッド一覧


2564● Re[3]:C言語のコンパイル方[ 勉三 ] 2004 11/12 13:41
メモ帳でコーディングしたため、改行コードが違うからでは?
スレッド一覧


2566● Re[4]:C言語のコンパイル方[ な ] 2004 11/12 20:09
> メモ帳でコーディングしたため、改行コードが違うからでは?

関係有りません。
# gcc-3.3.3-3 で確認済み
スレッド一覧


2568● Re[3]:C言語のコンパイル方[ な ] 2004 11/12 20:29
> いったい問題はなんなのでしょう?

「問題」ではありません。

> > hello.c:3:28: warning: no newline at end of file

"warning" となっているので、コンパイルには大きく影響しない警告です。

例えば、環境変数を LANG=ja_JP.SJIS OUTPUT_CHARSET=CP932 と設定している
環境では、vi を使うと、ファイルを開いたときに、

"hello.c" [noeol][変換済][dos] 8L, 89C

というように表示されるはずです。

この状態でコンパイルすると、

hello.c:8:2: 警告: ファイル末尾に改行がありません

と表示されます。

きゃみさんがすでに指摘している通り、ファイルの最後に改行を入れるか、
最初から vi ないし、「プログラマ用」と銘打っているエディタを使う
べきでしょう。
スレッド一覧


2565● Re[2]:C言語のコンパイル方[ 勉三 ] 2004 11/12 17:24
> それと、main関数の戻り値(return 0;)が抜けています。
> C言語の本をよーく読んでから挑戦してください。

exit(0); なのでは?
スレッド一覧


2567● Re[3]:C言語のコンパイル方[ な ] 2004 11/12 20:19
> exit(0); なのでは?

ANSI C 89 以降の hosted environment ではどちらでも同じことです。
gcc-3.x は -traditional を指定しない限り関係ない話です。
# スタートアップルーチン辺りの話でもしたいですか?
スレッド一覧

早田のホームページへ
CGIROOM