▼スレッド
│
└◇581:コンパイル時のワーニングについて [pon] 09/04 21:55
└◇582:Re:コンパイル時のワーニングについて [MSだす。] 09/07
└◇583:たいへんな粗相をしてしまいました。 [pon] 09/07
└◇584:どんなエディターをお使いですか? [MSだす] 09/08
└◇585:Re:どんなエディターをお使いですか? [pon] 09/08 <
いつもお世話になっております。ponです。いろいろと勉強して、教本からいくつかのサンプルプログラムを打ち込んでいていつも疑問になっていたことなんですが、8割9割の確立でwarning: no newline at end of file と言うワーニングが出てきます。とりあえず、ワーニングなんでシカトしてましたが、これは何を言ってるものなんでしょうか?コンパイルエラーは、今のところ私のタイプミスによるものばかりなので、おおよそ解決してるのですが、どうも私の目は節穴のようで、HPをいろいろと見て探すんですが、こんな初心向けの解説はありませんでした。どうかよろしくお願いします。ちなみに、gccは3-1です。よろしくお願いします。スレッド一覧
もう少し詳しい情報を書いたらレスが得られるかも。スレッド一覧
・waningが出るプログラムと出ないプログラムの例(できるだけシンプルなものがよいでしょう)。またコンパイルするときに
どのようなオプションをつけていますか?
・Cygwinのgccでも起こりますか?
・newline(改行)が問題となるとすぐに思いつくのは
WindowsとUNIX系OSとの改行コードの違いです。
Cygwinをインストールする際、Default Text File Type
として、Dos と Unix どちらを選択してますか。
またプログラムを書くのにどのようなエディターを使ってますか?
・実際にファイルエンドの改行コードはどうなっているでしょうか。
$ dump foo.c | tail
とすれば、コードが見れます。warningが出るものと出ないもので何か違いがありますか?
以上、思いつきで書いた、アドバイスを得るためのアドバイスでした。
MSだすさんありがとうございます。仰せのとおりに調べてみましたら、エディターでプログラムの最後の行を改行してませんでした。ちなみに、cygwinで使用しているgcc-3-1でDefault Text File TypeはUNIXでした。無知と言うことはこういうことなんですよね。大変失礼しました。更に、ファイルエンドですが、ワーニングが出る場合は0a7d、出ない場合は0d0aでした。本当に申し訳ありません。自己嫌悪を通り越してどうにかなってしまいそうです。2chあたりなら逝ってきますと言うことになるのでしょうか。何を調べるかがわかっていなかったのが、今回の粗相の原因です。以後気をつけますのでどうかこれに懲りずによろしくおねがいします。スレッド一覧
本当に改行が入ってなかったわけですね。スレッド一覧
実は、最初FILE ENDでRETURNを一発入れば
済むだろうと思ったのですが、
当方のエディター(vi、emacsなど)で試したところ、
FILE ENDの改行を打たなくとも
エディターが自動的に改行コードを
付加してくれているのでした。
実際FILE ENDの改行は目に見えないので
エディターが自動的に付加するのが結構
普通なのかもしれません。
参考までに、どんなエディターを使っているのか
教えてくれませんか?
MSだすさんはすべてお見通しだったんですね。お恥ずかしい限りです。私の使用しているエディターはメタエディタープロ(http://www.metabee.com/jp/MetaEditPro.html)というフリーソフトでした。何を使っていいかわからなかったので、ベクターで検索したものを使っていたというわけです。viやemacsという奴は、私にはとっつきにくそうでしたのでこれを使用してました。改行をしてるしてないまでCが見てるとは思ってませんでしたが、自動で改行を入れてくれるものもあるんですね。今は、ポインタやら配列の脂っこいところの勉強中なので手をつけれませんが、も少ししたらEやemacsを試してみようと思います。MSだすさん本当にありがとうございました。スレッド一覧