
パソコンの初心者です。プログラムを作った経験はあるのですが、Windowsでgccを使おうとして、思わぬところではまっています。http://www2.ktokai-u.ac.jp/~kfuji/cygwin/cygwin. … より、cygwin をゲットし、起動することに成功しました。プロンプト「$」が現れ、昔作ったCプログラムは無事コンパイルされました。ところが、プログラム中にprintf("Hello \n"); 等のprintf文を書いてコンパイルし、$./a.exe を実行しても、標準出力にHello の文字が出力されないのです。おそらく簡単なところでつまづいているのだと思います。何を誤っているのでしょうか?助けてください。よろしくお願いします。
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
直接関係があるかわかりませんが
gccにこだわっている状態だとそのソースUNIX系(風)OS環境下で
元々作ったファイルがEUCコード
(改行コードが\n。Windowsの改行コードは\r\n。ただしCなどでプログラミングするときには\nでOK)
だったって事は無いですよね?
バックスラシュ・バックスラシュと騒いでいる人がいますが
\とバックスラシュは同じ文字コードなだけで同じです。
Windows日本語環境下での「\」になるだけです。
だからコマンドプロンプトを開いてusと打ち込んでusモードにして
\にあたるキーをタイプしてみてください。
バックスラシュになりますから
で\を別のところで打ち込んでusモードにしたコマンドプロンプトにコピペ
してみてください。
\ではなくてバックスラシュになっていますから
だから\だろうがバックスラシュだろうが関係無いです。
この回答への補足
貴重なコメントどうもありがとうございます。usモードというのは初めて知りました。検索してusモードというのを知りました。ただしかし、残念なことにプログラムがEUCモードになっていたという訳ではないようです。ちなみに、cygwin の画面上ではusと打ち込んでも、
$ us
bash: us: command not found
とエラーメッセージが出るだけで、画面は切り替わらないようです。
あと・・・今、実行しようとしているCプログラムは、旧機Windows98で作った数百行のプログラムです。新機でもコンパイルは成功するのですが、実行がうまくいかないのです。
かつてのgccは確かにコマンドプロンプト上からコンパイルしておりました。
その古いgccは現用のXPにおいてもコマンドプロンプト上から問題なく動作しております。ほんとに困ったものです。皆様には大変申し訳ない。
No.5
- 回答日時:
No.2、No.3です。
gccを諦めるのは早いと思います。やはりバックスラッシュが問題かと思います。cygwinはサイトにあるようにインストールしたのでしょうか。サイトの説明では、gccだけをインストールしているようです。フルにインストールしてみたらいかがでしょうか。Webで探せばその方法の説明があると思います。また、自己責任ですが、HDDを交換してLinuxをOSに使ってみたらいかがでしょうか。大抵のディストリビューションには、デポジトリがあり、そこからgccをダウンロードできます。
この回答への補足
ダウンロードするサイトを決めた後、「select packages」というのが出てくるのですが、「Devel」の下位にあるC言語だけではなく、「Devel」全てを「Default」から「install」にして、ダウンロードしてみました(Devel は debelopmentの略でしょうか)。しかしながら、結果は全く同じでした。やはり駄目です。諦めざるを得ません。
Linux を使うというのは一つの有力な手だと思っています。どうもありがとうございます。
No.4
- 回答日時:
No.2です。
小生が、gvimで作成したプログラムは、以下のとおりです。#include<stdio.h>
int main(void){
printf("Hello World! (バックスラシュ)n");
return(0);
}
バックスラシュが使えないため、変な表現になっています。
この回答への補足
お付き合いくださりどうもありがとうございます。結論から言いますと、貴殿のプログラムをコピーしてコンパイルしてみましたが、駄目でした。標準出力に「Hello World」は現れませんでした。(バックスラッシュ)のところはバックスラッシュを打ち込んでも、表示は「¥」で、コンパイルしてもerrorも warning も現れませんでしたが、実行しても結果は同じでした。gccを他のサイトから再インストールを2度ほど行ってみましたが、同じく駄目でした。
gccは諦めるよりしかたがなさそうです。本当にどうもありがとうございました。
No.3
- 回答日時:
No.2です。
lsコマンドでa.exeファイルが作成されているのを確認されているのであれば、printf文がおかしいのではないかと思います。\nをバックスラシュnに変更してみたらいかがでしょうか。また、gvimは、X windowで使いますので、"startxwin.sh"と入力して、X Windowを立ち上げてから、"gvim"と入力すれば、使えると思います。
No.2
- 回答日時:
紹介されたサイトのようにメモ帳を使ってプログラムを書いたのでしょうか。
それをどこに保存しましたでしょうか。C\cygwin\home\useradminに保存しましたでしょうか。ちゃんとa.exeファイルが作成されているのを確認しましたでしょうか。cygwinを立ち上げてlsコマンドを打てば、そこの場所に作成されたファイルの一覧が表示されます。cygwinを立ち上げた場所にa.exeファイルが作成されていればOKです。cygwinでプログラムを書く場合、cygwinに同梱されているエディタを使ったほうがいいのではないでしょうか。そうすれば自動的にtxtという拡張子がつくという問題もありません。gvimというエディタがありますので試してみて下さい。また、サイトのコンパイルの方法では、すべてのファイルがa.exeとなってしまいます。
gcc -o test test.c
とコンパイルすれば、test.exeが作成されるはずです。cygwinでは、Cプログラムのほかに、Java、Ruby、Pythonも使えますので、トライしてみて下さい。
この回答への補足
エディタにはCプログラムを作るのに便利な、xyzzy(Emaxもどき)を使いました。ちゃんとtest.c に保存しました。拡張子を間違えているということはありません。more も less も ls も使えます。
$gcc -o test test.c
で、test.exe が作成されることも確認しました。でも、
$./test.exe
としても、何も表示されません。数百行のプログラムのコンパイルもerrorがなければできるので、コンパイル自体は問題なさそうなのです。ところが実行してもprintfしようとしているものが表示されないのです。
ただひとつ、貴殿のおっしゃるディレクトリは「C:\cygwin\home\useradmin」となっていますが、私の使っているディレクトリは
「C:\cygwin\home\Owner」となっています。これは問題でしょうか?
gvim も「cannot open」でした。これも問題でしょうか?
java は機会があればトライしてみるつもりです。
No.1
- 回答日時:
1. ソースを補足に書く
2. コンパイルした方法を補足に書く
この回答への補足
ソースファイルは、test.cに保存されており、内容は以下です。
#include<stdio.h>
main()
{
printf("hello \n");
}
コンパイルの方法は
$gcc test.c
です。error も warning も出ません。$ はプロンプトです。
$./a.exe
を行っても標準出力には何も表示されません。
cygwin を疑い、別のサイトからcygwinをダウンロードしてみたのですが、状況は同じでした。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- その他(プログラミング・Web制作) Windows上のプログラム。「予め決められた時刻に自分で起動して処理して自分で終了する」って可能? 3 2023/01/04 14:29
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「システム管理者によりこのプ...
-
VBScript ファイルの関連付けに...
-
CドライブのProgramFile内のフ...
-
ProgramFilesにインストール出...
-
かんたんPDF EDITの使い方
-
「プログラムから開く」一覧に...
-
VMGファイルを開くには
-
キングのアプリケーションマネ...
-
拡張子.tibxの開き方
-
コンピューターにCOMCTL32.dll...
-
Updregって何ですか?
-
「いつも同じプログラムから開...
-
終了時ApUsbPnPのプログラムが...
-
プログラムと機能について
-
アウトルックをアンインストー...
-
情報の損失を防ぐためにプログ...
-
tiffファイルを「Office Docum...
-
PDF-Viewer
-
jpegを開こうとするとWindows M...
-
「ファイルを開くプログラムの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「システム管理者によりこのプ...
-
別のプログラムを選択の画面で...
-
jpegを開こうとするとWindows M...
-
CドライブのProgramFile内のフ...
-
JPEGのデータがペイントで...
-
VBScript ファイルの関連付けに...
-
拡張子.tibxの開き方
-
アウトルックをアンインストー...
-
キングのアプリケーションマネ...
-
Updregって何ですか?
-
VMGファイルを開くには
-
終了時ApUsbPnPのプログラムが...
-
Database mdb について
-
PDF-Viewer
-
「プログラムから開く」一覧に...
-
Outlookの添付画像が開けない
-
デスクトップのアイコンが全て...
-
「プログラムから開く」の中に...
-
「プログラムと機能」の一覧を...
-
tiffファイルを「Office Docum...
おすすめ情報