• ベストアンサー

Cygwinのエディタについて

Cygwinのエディタのviで、c言語のプログラムを作成し、gccでコンパイルすると、a.exeというファイルができます。私は今まで、Linuxのviでc言語のプログラムを実行するときは、a.outを使っていました。 Cygwinのviでもa.outを使うにはどう設定すればよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> 「a.out」のみでプログラムを実行したいのです。そうするにはどうすればよいでしょうか おそらく環境変数 PATH にカレントディレクトリ(.)が含まれていないためと思われます。 シェルが bash/sh なら PATH=${PATH}:. tcsh/csh なら set path = ( $path . ) と入力すれば、 a.out のように ./ なしで実行できるはずです。

kamakuragengorou
質問者

お礼

ふむふむ。パスを変更しなければならなかったのですね。ありがとうございました。 しかし「a」でも「a.out」でも実行できたのですが、これはなぜなのでしょう?

その他の回答 (1)

回答No.1

 gcc の -o オプションを使えば可能です。 gcc -o a.out .... という感じです。  なおプログラムを実行するのに vi は使いません。vi はテキストファイルを編集するのに使います。

kamakuragengorou
質問者

お礼

返信ありがとうございます。 返事が遅くなってしまい申し訳ありません。 確かに上記のやり方で「a.out」というファイルは生成できたのですが、実行する時にはやはり「./a」としなければできませんでした。私としては「a.out」のみでプログラムを実行したいのです。そうするにはどうすればよいでしょうか? viはエディタでしたね。すみません。

関連する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でのフャイルやり取り

    学校でcygwinを使ってるんですが、分からないことが多すぎて勉強に追いつけません。C言語は出来るのですが、cygwinの操作に慣れなくて苦戦しています。 そこで質問なんですが、cygwin(vi)でプログラム(C/C++)を作るのがめんどくさいので、先ず最初にwindowsのメモ帳を使ってプログラムを書いた後、cygwin(gcc)でコンパイラさせたいんでけど、テキストファイルが何処にも見当たりません。 というかコマンドラインでのファイル操作が出来ません。 どうやったらwindowsとcygwinでのフャイルのやり取りが出来るのでしょうか? もし誰か知っていたら教えてください お願いします

  • cygwinの実行

    cygwinについての質問なんですが、gcc でコンパイルまではできたんですが、a.exe で実行ができません。 「bash: a.exe: command not found 」と出てしまいます。どうすればよいのでしょうか。

  • Cygwinでコンパイルできません。

    CygwinをすべてDefaultでインストールしました。 テキストエディタとしてTeraPadを利用しています。 テラパッドでtest.cというファイルをつくり、 gcc -o test test.c でコンパイルしたのですが gcc:test.c:No such file or directory gcc:no input files と表示されます。 正常にコンパイルするにはどうしたらいいのでしょうか? 自分はC言語について勉強したばかりでくわしくないので、この質問を書いていて言葉足らずなところがあり説明不十分かもしれませんが、よろしくお願いします。

  • cygwin プログラミング コンパイラ

    c言語のプログラミングの練習のためにcygwinというものをwindows vistaにダウンロードしたのですが、gcc fib.cみたいにコンパイルしたらbash:gcc:command not foundとでてきます。 コンパイラはcygwinと別にダウンロードしないといけないのですが。 エディタとしてメモ帳をつかってるのですが おしえてください

  • windowsとcygwinのフャイル共用について

    学校でcygwinを使ってるんですが、分からないことが多すぎて勉強に追いつけません。C言語は出来るのですが、cygwinの操作に慣れなくて苦戦しています。 そこで質問なんですが、cygwin(vi)でプログラム(C/C++)を作るのがめんどくさいので、先ず最初にwindowsのメモ帳を使ってプログラムを書いた後、cygwin(gcc)でコンパイラさせたいんでけど、テキストファイルが何処にも見当たりません。 というかコマンドラインでのファイル操作が出来ません。 どうやったらwindowsとcygwinでのフャイルのやり取りが出来るのでしょうか? もし誰か知っていたら教えてください お願いします

  • cygwinで-mno-cygwinオプションの有無によって動作の変わる原因について

    こんにちは、shigre2005と申します。 私は普段UNIX上でC言語のプログラムを書いているのですが、わけあってWindows上で動くようにする必要が出てきました。そのプログラムをそのままcygwinでコンパイルしたところコンパイルでき、実行ファイルも問題なく実行できたのですが、このままですとcygwin1.dllが必要になってしまいます。 上記のような質問を前回した際に、gccに-mno-cygwinオプションをつければよいと教えていただき、そのときはうまく行ったのですが、今回はなぜかうまく行きません。オプションをつけないときは普通に実行できるのですが、つけると、リンクの段階で以下のようなエラーが出てしまいます。 /usr/lib/gcc-lib/i686-pc-mingw32/3.3.3/../../../../i686-pc-mingw32/bin/ld: crtbe gin.o: No such file: No such file or directory make: *** [all] Error 1 makefileを使っていて、GTKを使用しています。-mno-cygwin以外のコンパイルオプションは以下のものをつけています。 (.c→.o) -Wall -DGTK_DISABLE_DEPRECATED -mms-bitfields `/usr/bin/pkg-config --cflags gtk+-win32-2.0` (.o→.exe) -Wl,--subsystem,windows `/usr/bin/pkg-config --libs gtk+-win32-2.0` -mno-cygwinは(.o→.exe)の方につけています。 gccのバージョンは、4ではうまく動かなかったので、3.3.3を使っています。 どうぞよろしくお願いします。

  • Linuxで実行ファイルを実行

    Linux上でC言語をコンパイルし、作成された実行形式ファイルを実行しようとしたのですが、実行できません。 作業フォルダは /var/www/html です。 gcc program.c でコンパイル、 作成されたa.out(ls でフォルダ内にあるのは確認済です) を以下の方法で実行しようとしましたが、全てできませんでした。 1. [root@host-210-161-57-177 html]# a.out bash: a.out: command not found 2. [root@host-210-161-57-177 html]# ./a.out opendir: No such file or directory 3. [root@host-210-161-57-177 html]# %./a.out bash: fg: %./a.out: no such job 4. [root@host-210-161-57-177 html]# % ./a.out bash: fg: %: no such job gcc -o program program.c でファイル名を指定してコンパイルしてみても同様の結果でした。 ご存じの方、どうかご回答をよろしくおねがいします。

  • Cygwinでのコンパイルができません。

    Windows XPでCygwinを動かして、プログラムをコンパイルしようとしました。 gcc sample.c -o sample.exe としたのですが gcc: installation problem, cannot exec 'cc1': No such file or directory と表示されてしまいうまくコンパイルできません。 全くの初心者で原因がわからず、何をしたらいいのかわからないと共に、ある程度対処方法を検索したのですがいい解決策が見つからないのでここで質問させていただきます。 よろしくお願いします。

  • cygwin1.dll を必要としないCのexeファイルを作りたいです

    はじめまして、shigure2005と申します。 私は普段UNIX上でC言語のプログラムを書いているのですが、 わけあってWindows上で動くようにする必要が出てきました。 そのプログラムをそのままcygwinでコンパイルしたところ コンパイルでき、実行ファイルも問題なく実行できたのですが、 このままですとcygwin1.dllが必要になってしまいます。 ですので、これがなくてもすむような別のコンパイル方法を 教えていただければと思ったしだいです。 過去ログを探って、MinGWについては試してみたのですが、 コンパイルは問題なく通るのに、なぜか実行ファイルを 実行すると、うまく起動できません。Mingwは以下のファイルを ダウンロードしてインストールしました。 mingw-runtime-3.8.tar.gz mingw-utils-0.3.tar.gz MinGW-4.1.1.exe w32api-3.3.tar.gz binutils-2.15.91-20040904-1.tar.gz mingw32-make-3.80.0-3.exe PATHは「C:\mingw/bin;C:\cygwin/bin」の順に通していて、 コマンドプロンプトでコンパイルし、コンパイル後、 コンパイルに用いたdllがcygwin1.dllでないのを確認して います。また、helloworldなど簡単なプログラムなら、 Mingwでもうまくコンパイルできてます。cygwinとMingwで コンパイル性能に大きな差などがあるのでしょうか? また、cygwinだけでも、Mingw-runtimeをインストール すれば、cygwin1.dllを必要としない形式にコンパイル できるという話を聞いたのですが、ご存知の方が いらしたら教えてください。 どうぞよろしくお願いします。