No.10ベストアンサー
- 回答日時:
Cygwin + gccでやってみたところ、
--test.c
int main(){}
--↑改行なし
> $ gcc test.c
> test.c:1:13: warning: no newline at end of file
確かにでますね。
が、これはwarning(警告)ですし、通常無視してもなんら問題のない(文法ミスの可能性を指摘するものではなく、記述方式そのものによる)警告です。
まあこのようなwarningを出さないプログラムを書くのが重要なので、ソース末尾の改行は入れておいたほうがよいでしょう。
何度も初歩的な質問に答えてくださり、ありがとうございます!
プログラムの最後に改行を加えたところ、上手く動きました^^どうもありがとうございました。
No.9
- 回答日時:
> エラーメッセージで『no newline at the end of file』
> とでるのですがどういうことなのでしょうか?
文字通りにとれば、ファイルの最後の行に改行がないというエラーのようですが…
いま手元にcygwinの環境がないので確認できませんが、これがコンパイラのエラーであれば、一度ソースファイルの最後に改行をひとつ入れてみてはいかがでしょうか。
No.8
- 回答日時:
> 違うことなのですが、今学校ではプログラムを実行する
> ときは『./a.out』としているのですが使えず、
> 『./a.exe』だと実行できるのですが・・・
学校ではワークステーションかLinux PCでやっていらっしゃるのですね。
それは、WindowsとUnixのファイルに対する考え方の違いに由来します。
Unixでは、ファイル名はただのファイル名であり、明示的にアプリケーション内で指定しない限り拡張子は必要ありません。単なる記号と言っても良いでしょう。プログラムをシェルが直接実行できるかどうかは、ファイルのモード(chmodで指定するモード)によります。また、ファイルが何を使って実行するかは、fileコマンドを使えばわかりますし、スクリプトであれば最初の行に実行するためのプログラムを指定することになっています。指定されていなければ現在のシェルが直接スクリプトを処理することになります。
それに対してWindowsでは、ファイル名+拡張子という構造でファイルの種類を決めることになっており、ファイルにはモードという概念はありません。現在のWindows xpでは、exe com scr 等の拡張子が実行可能として登録されています。
cygwinは、あくまでもwindows上でwindowsの環境を拡張してunix互換環境を用意しようという試みですので、ベースになる技術はwindowsそのものです。ですから、unixでは本来動作しないwindows用のnotepad.exeがbashから呼び出せるのです。また、逆に、windowsでは、a.outという実行ファイルができたところで、動作させることはできません。先に説明したように決まった拡張子がないとwindowsは実行可能とは判断しないからです。
Visual C++やBorland CなどのWindows用として作られたコンパイラ・リンカでは、伝統的にmain関数があるファイルのファイル名に.exeをつけたファイルを出力することが多い(cl test.c → test.exe)のですが、cygwinのgccは、unix風のa.outのかわりにa.exeを出力するのです。
蛇足ですが、a.outというのは、unixでは昔から使われていた実行バイナリ形式の名前としても使われています。
参考:http://www.itmedia.co.jp/help/tips/linux/l0448.h …
> もう少し余裕ができた時にフリーのエディタについて考えて
> みたいと思います。
C言語のエディット用に設計されたエディタには、予約語を強調表示したり、関数定義の場所を探してキーひとつでジャンプしたり、コンパイラを呼び出して実行ファイルを作ったりといろいろな機能があったりするので時間があるときにいろいろ試してください。
ちょっとした疑問なのに、詳しく教えてくださってありがとうございます。
またまた問題が発生しまして・・
エラーメッセージで『no newline at the end of file』とでるのですがどういうことなのでしょうか?プログラムはテキストに載っているとおりにしているので、原因が全くわかりません。
No.7
- 回答日時:
> メモ帳でプログラムを書いても
ソフトの紹介
メモ帳より、Editorの方が使い良いですよ。
わたしは市販のEditorを使っていますが、フリーでも良いのがあります。
●フリーのエディタ
TeraPad
http://www5f.biglobe.ne.jp/~t-susumu/
NoEditor, UnEditor
http://www.yokka.com/yokkasoft/
PeggyPad
http://www.anchorsystems.co.jp/
●コンパイル例
gcc test.c
gcc test.c -o test
gcc test.c -o test -Wall
g++ test.cpp
オプション
-o test は test.exe を作成します。指定しなければ
a.exeが作成されます。-Wallはワーニングを表示します。
●Open Command Window Here
http://homepage1.nifty.com/kazubon/progdoc/poor/ …
http://www.kaimei.org/note/mag/ocwh.html
ありがとうございます!
とりあえず今はプログラムが実行できるようになったので、もう少し余裕ができた時にフリーのエディタについて考えてみたいと思います。
No.6
- 回答日時:
…あ~質問の意図を誤解してました。
> メモ帳で書いた後どうしたらよいか教えてください。
次回から、先の回答のようにすれば、bashで管理する形式のディレクトリにファイルが作れますが、今回どうしたらいいのかということですよね。
CygwinのインストールディレクトリをC:\Cygwin
ユーザー名をayari
と仮定すると、ホームディレクトリは
C:\Cygwin\home\ayari
となります。
マイコンピュータからC:\Cygwin\home\ayariへファイルをコピーして、bashを起動すると、そこにファイルがあるはずです。
ありがとうございました!
違うことなのですが、今学校ではプログラムを実行するときは『./a.out』としているのですが使えず、『./a.exe』だと実行できるのですが・・・
プログラムが動くのでどちらでもいいのですが、ちょっと気になったもので^^;
No.4
- 回答日時:
メモ帳で書いたソースをどこに保存しましたか?
マイドキュメントに保存してしまうと、Cygwinから使うのは大変なので、Cygwinのホームディレクトリか、その下の(自分で作った)ディレクトリに保存するようにしてください。
Cygwinのホームディレクトリは、CygwinをC:\cygwinにインストールしたとすると、
C:\cygwin\home\ユーザー名
になります。
(変な設定をしていない限り)bashを開いて最初にいるディレクトリはここになります。
エクスプローラで見るか、lsコマンドを使うなどして、本当にそこにソースファイルがあるか確認してみてください。
できれば、いきなりメモ帳を開くのではなく、エクスプローラの新規作成でテキストドキュメントを作り、名前を変更してからメモ帳で編集した方が便利かと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) widows11のメモ帳でExcelのTXTファイルを開きたい 6 2022/08/23 17:09
- フリーソフト AutoHotKeyは別の独立したファイルで 動作させる方法はないのでしょうか 1 2022/09/04 13:14
- Windows 10 Windows 10 「個人用設定」の「色」設定がおかしいです 3 2023/07/22 13:06
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- Windows 10 (続き)2つのウィンドウ選択時の表示について 6 2023/08/13 15:05
- iPhone(アイフォーン) iPhoneのメモ帳を使ってますが、突然全然違うところに画面がジャンプします。なんですか ?この仕様 1 2022/12/19 09:19
- Android(アンドロイド) Androidのおすすめメモアプリ 4 2022/05/17 20:51
- Android(アンドロイド) Simカードをなくしてしまいました。元になるスマホが、すでに契約が終わっていて、wifiのある場所の 2 2022/08/01 15:10
- 日用品・生活雑貨 綴じ手帳について 来年度の綴じ手帳を購入しました 毎年違うものに変えたりしていますが、一貫して綴じ手 2 2022/12/11 07:38
- 電子書籍 WIN10で誤ってメモ帳タッチしてしまった 2 2022/12/29 21:02
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JAVA .jarファイルに再圧縮する...
-
実行ファイルと実行モジュール...
-
アプリケーションとソースコー...
-
アイコンにD&Dしたファイル...
-
VBAでEXEファイルを動かす方法...
-
exeファイルを作成できるプログ...
-
jarの開き方を教えてください。
-
VBスクリプトのWshShell.Runに...
-
メモ帳でプログラムを作っても・・
-
a.outはどこへ?
-
Access クエリ実行が急に非常に...
-
exeファイルをホームページ上で...
-
以下のように複数のファイルを...
-
matlabのmファイルを自動で実行...
-
VC++から引数付きexeファイルの...
-
hostsファイルを置き換える and...
-
タスクスケジューラからのBA...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
ファイル出力の場所を指定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
OLE又はDDEを使うVISUAL BESIC...
-
JavaScriptでコマンドプ...
-
jarの開き方を教えてください。
-
VC++から引数付きexeファイルの...
-
コマンドプロンプトで外のexeや...
-
パラメータが正しくありません...
-
c/c++ ビルドしたにもかかわら...
-
以下のように複数のファイルを...
-
64bit環境で32bitのodbc参照
-
VBAで他のプログラムが起動して...
-
コンポーネント`MSCOMM32.cox'...
-
JAVA .jarファイルに再圧縮する...
-
VBS形式ファイル:ダブルクリッ...
-
batからexeを起動した際の戻り...
-
batからexeを実行し戻り値を受...
-
VBAでEXEファイルを動かす方法...
-
JARファイルをEclipseを使って...
-
Visual BASIC か...
-
実行ファイルと実行モジュール...
おすすめ情報