• 締切済み

Windows での gccの使い方

mtaka_2007の回答

回答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も使えますので、トライしてみて下さい。

dostoev
質問者

補足

エディタには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 は機会があればトライしてみるつもりです。

関連するQ&A

  • cygwinでのgcc

    畏れ入ります。 UNIXどタコですm(__)m 最近CYGWINで簡単にUNIXが体験できるということで早速インストールしました。 KDEとGNOME無事起動しました。 で、実は図書館で「Xlibで簡単プログラミング」というのを借りてきたので、ちょっと遊んでみようと思いとりあえずc言語がコンパイル、実行できるかどうかやってみたのですがうまくいきませんでした。 #include <stdio.h> int main(){ printf("HelloWorld \n"); } のようなプログラムをvimで作成するところまではうまくいきました。homeディレクトリに作成されていました。 それで gcc hello.c とやればよいのですよね?! 実は文字がたくさん出て、コンパイルできたのかどうか・・・?そして、a.outというファイルができるのですよね?間違っていますでしょうか? とりあえず、できていません・・・(>_<) ./a.out としても、no fileです・・・ なにか間違っていますでしょうか?

  • cygwinのgccが、エラーになってしまいます。

    テストプログラム $ cat test.c #include <stdio.h> int main (void) { printf("Hello, World!\n"); return 0; } これを、コンパイルすると $ gcc test.c gcc: error trying to exec '/usr/lib/gcc/i686-pc-cygwin/4.5.3/cc1.exe': execv: Bad address /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../libcygwin.a(libcmain.o):(.text+0xba): undefined reference to `_WinMain@16' collect2: ld はステータス 1 で終了しました と、このようなエラーが出てきました。 ファイルを確認しても、何も作られていません。 $ ls test.c 対処方法を、ご教示願います。

  • cygwinのgccで正常にコンパイルできない。

    cygwinのgccで正常にコンパイルできない。 cygwinのvimで、以下のプログラムを書きました。 ------------------------------------------------------------- #include <stdio.h> int main(void) { int no; printf("Please input something:"); scanf("%d", &no); printf("It is %d that you input it:\n", no); return (0); } ------------------------------------------------------------- それからgccでコンパイルしました。 コマンドは以下の通りです。 $ gcc test.c すると以下のエラーが出ました。 test.c:10:9: warning: unknown escape sequence: '\033' このようにコンパイルできない状態です。 どのようにすると正常にコンパイルできるようになるでしょうか?

  • Windowsコモンコントロールのcygwin/gccコンパイルエラー

    以下のサイトのようなWindowsコモンコントロールのプログラムをcygwin/gccコンパイルするとエラーがでます。 (sourceのサイト) http://wisdom.sakura.ne.jp/system/winapi/common/common16.html (ビルドコマンド) gcc -mwindows -mno-cygwin -o main.exe main.cpp (エラー出力) undefined reference to `_ImageList_Destroy@4' undefined reference to `_InitCommonControls@0' undefined reference to `_ImageList_Create@20' undefined reference to `_ImageList_ReplaceIcon@12' undefined reference to `_ImageList_ReplaceIcon@12' collect2: ld returned 1 exit status make: *** [main.exe] Error 1 Windowsコモンコントロールを含んだプログラムをcygwin/gccコンパイルするにはどうすればよいでしょうか? コンパイルは出来ないのでしょうか? よろしくお願いします。

  • Cygwin VistaでGCCが動きません

    cygwinでgccを利用してコンパイルをしようと考えたのですが、 exeファイルを吐き出しませんし、プログラム内にエラーを組み込んでも反応しません。 http://sang-wing.cocolog-nifty.com/blog/2009/06/vista-cygwin-gc.html こちらのサイトを参考にして、インストールは行いました。 同じような症状が出た方、解決方法ご教授ください。

  • 実行結果をコマンドライン引数として渡す方法について

    test1.cはコマンドラインから引数をとり処理するプログラム test2.cは「Hello!」と出力するプログラム。 これらのプログラムをコンパイルして、次のような引数の渡し方をしてHello!と表示したいのですがうまくいきません。 実際の結果 ----------------------------------------- $ ./test1.exe ./test2.exe ($はプロンプト) $ ./test2.exe $ ----------------------------------------- 期待する結果 ----------------------------------------- $ ./test1.exe ./test2.exe $ Hello! $ ----------------------------------------- ここでプログラムの仕様を示しておきます。 プログラム1(test1.c)の中身 -------------------------------------- #include <stdio.h> main(int argc, char *argv[]){ printf("%s\n", argv[1]); } -------------------------------------- プログラム2(test2.c)の中身 -------------------------------------- #include <stdio.h> main(){printf("Hello!\n");} -------------------------------------- よろしくお願いします!

  • gccがコマンドプロンプト上で使えない(超初心者)

    cygwinを取り込んで使えるようにしたんですが、コマンドプロンプト上で使えません。 コンパイルが出来ないです。 いちおう環境変数PATHを色々なHPに書いてあるように設定したのですが、gccは内部コマンド外部コマンド操作可能なプログラムパッチまたはバッチファイルとして認識されていませんと出ます。 何がおかしいのかご指摘お願いします。 あと、dirで確認したところコマンドプロンプトの初期がオーナーのドキュメントファイルに設定されているんですが、いちおうこの中にデスクトップがあるんですが、デスクトップ上でC言語プログラムの専用ファイルを作った場合にcdで飛ぶ必要はあるんですか?あるならばコマンドプロンプト上でひらがなを打つ方法を教えてください。 あと、cygwin上でコンパイルするにはどうすればいいんですか? 質問重ね重ねすいませんm(__)m

  • gccとvisualstudio

    for(i=0;i<10;i++) a[i]=i; k=5; a[k++]=(k>5 || k++<6)? 10: 20; for(i=0;i<10;i++) printf("%d %d\n",i,); printf("%d\n",k); こういうプログラムを作成してgccでコンパイルして実行したとき, 0 0 1 1 2 2 3 3 4 4 5 10 6 6 7 7 8 8 9 9 7 という結果になったのですが、5 10という結果になったのが理解できません。どうしてこのような結果になったのでしょうか?またvisualstudioで実行した場合a[6]=10という結果になったのですがこれもどうしてでしょうか?ぜひ詳しく教えてくださいお願いします。

  • bash.exeを直接起動するとgccが実行できま

    C言語を始めてみようと思ってcygwinをインストールしました。初心者です。 Cygwin.batから起動するとキチンとgccコマンドが使えるのに、bash.exeから直接起動すると、なぜかcommand not foundとなってしまいます。emacsからコンパイルできるようにしたいと思っているので、不都合で困っています。どうすればよいのでしょうか。

  • MacOSXのgccのprintfで改行が出ない件

    Mac OS X 付属のgccで printf( "Hello\n" ); とやっても改行が出力されません。 よくよく調べてみると\nと記述しても0x0aが配置されないため 改行されないので、仕方なく printf( "Hello%c" , 0x0a ); と記述するとやっと意図通りの 挙動になります。 しかし可読性、移植性含めてこれでは解決になりません。 どなたか、解決方法を知りませんか?