
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を探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
VBAで他のプログラムが起動して...
-
タイムラインでの作成とActionS...
-
jarファイル実行時の環境変数の...
-
VC++から引数付きexeファイルの...
-
JavaScriptでPerlのサブルーチ...
-
C言語 ファイル処理
-
eclipseで作ったプログラムを他...
-
JavaScriptでコマンドプ...
-
「xdoc2txt」を利用した文書検...
-
コマンドプロンプトで外のexeや...
-
アイコンにD&Dしたファイル...
-
バッチファイルからエクエルの...
-
OLE又はDDEを使うVISUAL BESIC...
-
batからexeを実行し戻り値を受...
-
c/c++ ビルドしたにもかかわら...
-
LBAとファイルの関係
-
a.outはどこへ?
-
64bit環境で32bitのodbc参照
-
vbsで起動したexeを終了させる方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
JavaScriptでコマンドプ...
-
OLE又はDDEを使うVISUAL BESIC...
-
c/c++ ビルドしたにもかかわら...
-
VBAでEXEファイルを動かす方法...
-
コマンドプロンプトで外のexeや...
-
VC++から引数付きexeファイルの...
-
コンポーネント`MSCOMM32.cox'...
-
VBAで他のプログラムが起動して...
-
JARファイルをEclipseを使って...
-
ローカルのHTMLからexeファイル...
-
JAVA .jarファイルに再圧縮する...
-
以下のように複数のファイルを...
-
実行ファイルと実行モジュール...
-
64bit環境で32bitのodbc参照
-
LINK : fatal error LNK1104に...
-
VB6.0で作ったプロジェクトが起...
-
jarの開き方を教えてください。
-
ネットワーク越しのEXEファ...
-
eclipseで作ったプログラムを他...
おすすめ情報