元スレCygwin + MinGW + GCC 相談室 Part 3
gcc覧 / PC版 /みんなの評価 : ★
101 = :
こちらで質問するのがあっているのがわからないのですがC言語の勉強を始めたのです、
研修先がunix を使い vi gcc gdb を使っているので自宅でも似た環境をと思ってcygwinを利用しようと思い導入いたしました。
allでインストールをしてとりあえずhello c と表示させるプログラムを書きました。
ソースは下記のとおりです。
#include <stdio.h>
int main(void)
{
printf("Hello World!\n");
return 0;
}
この程度なのでコンパイルエラーは起きていません。ファイル名はtest.c です。
問題点は3つありまして
1つ目
gcc test.c でコンパイルをした際に a.exeができます。a.exe で実行した際に bash: a.exe: command not foundと出てしまいます。 なぜ実行できないのでしょうか?
2つ目
gcc -o test test.c でコンパイルしてできたtest.exeをtest.exeで実行しても実行はされているようなのですが(エラー等がでていないだけの理由ですが・・・)
何も表示されず 次の入力待ちの状態になってしまいます。なぜ表示されないのでしょうか?
3つ目
以上の理由からぐぐってみたのですが解決方法がわからずcygwin上でなくウィンドウズ上のコマンドライン?で実行できるようにあったので試してみました。
gcc -mno-cygwin test.c です。これでコンパイルしたものをウィンドウズ上で実行してみたのですが1瞬ちらっと表示されて窓が消えてしまいます。
ぎりぎりプログラムとおり表示されていると確認できたのですがこれ以降このままだと困るのでしっかり表示されるようにするにはどうしたらいいのか?
unixも今回初めて触って勉強中なのでおかしな言葉遣いや初心者過ぎるミスなのかもしれませんが、
ご回答のほどよろしくお願いします。
また、それぐらい調べろよ・・・と思うかもしれませんが cygwin c言語 で検索してみたのですが
質問3ぐらいの方法しか見つかりませんでしたので、検索ワードぐらいでも教えていただけれたらと思います。
103 = :
>>101
1.
./a
2.
testという既存のコマンドが実行されている。testに関してはmanpage参照。
自作のtest.exeを動かしたいのなら./test
3.
起動したらHello, world!と出力してすぐ終了するプログラムなんだから
ウィンドウがすぐ閉じるのは当然。むしろ閉じてくれないと意図しない動作になるでしょ。
コマンドプロンプトから実行するか、return 0;の前にscanfなりgetcharなり
使えるのならgetcharなりで入力待ちを作る。
104 = :
>>101
cygwinじゃなくて、Unix系コマンドインタプリタの基礎知識なんだが。
Unix系コマンドインタプリタ(以下シェル)では、実行モジュールを探すのにPATH環境変数を利用する。
ロートルUnixオペレータはしばしばカレントディレクトリ(.)をPATH環境変数に含めてしまう。
そうすると、カレントディレクトリの実行モジュールがパスなし(ファイル名のみ)で実行できてしまう。
最近のシェルは一般的にディフォルトではカレントディレクトリをPATHに含めるようなことはしないので、
パスなしでは実行できない。それだけのこと。
何故カレントディレクトリをPATHに含めてはいけないか、についてはスレ違いでもあるので
自身で調査することをお勧めする。
105 = :
>>103
ご丁寧にありがとうございます。
説明されればああ、当たり前のことなんだと理解はできるのですが
解決までもっていけないほど初心者だったので恥ずかしく思っています。
>>104
言い訳になってしまうのですがパスについてすらならっていなかったので
丁寧に説明していただいてありがとうございます。
カレントディレクトリをPATHに含めない件はスレ違いとのことですが
お勧めしていただいたので調べたので必要ないかもですが
理解したという報告まで・・ 環境によってコマンドが変わる事を避けるためと理解しました。
ありがとうございます。
返答が遅れましたが本当にスレ汚しのような質問にご丁寧に答えていただいてありがとうございます。
cygwinのインストールがおかしいのかと消しては入れなおしたりを半日以上繰り返していた
ため本当に助かりました。
本当にありがとうございます。
106 = :
たぶんみんな知ってるから
わざわざ報告しなくてもいいと思う
そのレスもこのレスも無駄と判断するのが
UNXクオリティ
107 = :
俺は解決したらそれっきりって奴よりいいと思うけどな。
108 = :
ムダかどうかというムダなレスが三つ(これも含む)増えてしまったわけだが。
109 = :
cygwinを導入し、windowsのコマンドプロンプトでUNIXコマンドを利用しています。
ls や which といった一般的なコマンドは使用できるのですが、
../hoge.exe
などと打ち込むと
'.' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というメッセージが出てしまいます。
./ を有効にすることは可能でしょうか?
OSはWindows XP pro です。
ご教授お願いいたします
113 = :
本当?
114 = :
本当。
115 = :
Windows Vista にcygwinをインストールしたいんだけど、
ダウンロードが終わった後のインストール段階で、33%くらい進んだところで必ずとまってしまって、
後は何時間放置してもうんともすんとも言わないんだけど、仕様?
116 = :
おそらく後ろに別のウィンドウが隠れている
117 = :
いや、何もなかったんだが
118 = :
ぼくのちんちんも皮の中に何か隠れています。
119 = :
箪笥の下に一匹いました
120 = :
MinGW + GCC から Excel ファイルを作ろうと思います。
どのようにするのが一番コンパクトですかね?
121 = :
>>120
xls限定? csvじゃダメなの?
122 = :
>>120
最近POIをgcjでコンパイルして,CNIでC++から使おうとして挫折しましたorz
トライしません?
この方法Linux上だとうまくいったのだけど,
Linux上でwin32へのクロスコンパイル環境を作って,
それで試したら私は失敗しました.
123 = :
>>121
うん、xlsがいいな。できれば幅変えたり色つけたりしたい。
>>122
Javaやrubyを通せばできなくはないけど、C++使っててそれは・・ねぇ。
そんなに需要がないわけでもなさそうなのに情報がみつからん・・・。
126 = :
プロプラなんだから情報なんざそうそうあるわけねぇ
OOoから物故抜け
128 = :
mingwのgccってstl エラー無く作動するの?
129 = :
mingwでSTL使ったら感染するのかな?
GPLに
131 = :
>>129 ヘッダにライセンス書いてあるから読んどけ。
132 = :
gcc (GCC) 3.4.2 (mingw-special)
#include <vector>
void m(const char *s0)
{
std::vector<int> vec(20);
}
gcc src.cppで
: undefined reference to `__gxx_personality_sj0'
collect2: ld returned 1 exit status
てなエラー。こういう眠くなるエラー見るだけでやる気ナッシング。
134 = :
特にSTLのエラーメッセージははまると最悪。
135 = :
>>134
そんな次元の質問じゃねーよw
136 = :
普段C使ってるけど、STLコンテナ使いたくてC++にした。
だからついgcc でやる。
gccのコマンドオプションも眠くなるぐらいあるから気がつかなかった。
やっぱ敷居が高そうだし、vs2005 cl にもどろっかな。
137 = :
普通はMakefileに書いておくのでいちいち手でコマンドうったりはしないような…
まぁ書き捨てプログラムで gcc a.c とかはやるけど
138 = :
俺は汎用 Makefile 作って、
それを include するだけの Makefile をカレントディレクトリに作るコマンド作ってるな。
まあ、書き捨てプログラムは特定のディレクトリを使い回してるけど。
139 = :
まぁまぁまぁまぁまぁライオン
141 = :
VC++に無い関数を使いたくて
Cygwin+gccでラッパーDLLを作ろうと思っています。
そこで質問なのですが、Cygwinのfopen()の返すファイルディスクリプタと、VC++のfopen()の返すそれとでは、互換性はあるのでしょうか?
142 = :
そもそもFILE構造体自体に互換性がなかった希ガス。
mingwならいざ知らず、ラッパー作るのも一筋縄じゃいかないような。
一体全体、何をやりたいんだ?
143 = :
プログラム全体をCygwin上でコンパイルしたほうがきっと楽。
145 = :
ソースコンパチのコード書く場合、てっとりやばいからじゃない?
たとえば、mmapを使いたいとかね。MapViewOfFileだと、結構差があるからそこから合わせるのは結構面倒。
っていうか、>>141のレスからしてmmapでビンゴな希ガス
147 = :
>>146
「GCC向けコード」って何のことを指してるんだ?
コンパイラとしてGCCを使ったとしても使える API は OS 毎違うわけで…
API も同じにしたい人が cygwin のような API レベルのエミュレーションを使うわけで…
149 = :
>>147
Win32APIにはmmapは用意されてないんだよ。
>>145の言うように代用のAPIがある。
あと、Cygwin使えば基本的にはPOSIX準拠のAPIは使えるよ。
150 = :
なんかスンゴイの作ってるんだよ。きっと
みんなの評価 : ★
類似してるかもしれないスレッド
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [97%] - 2022/10/28 8:00
- Cygwin + MinGW + GCC 相談室 Part 7 (996) - [97%] - 2014/9/21 2:15
- Cygwin + MinGW + GCC 相談室 Part 6 (981) - [97%] - 2012/12/30 23:15
- Cygwin + MinGW + GCC 相談室 Part 5 (981) - [97%] - 2011/4/6 2:32
- Cygwin + MinGW + GCC 相談室 Part 4 (1001) - [97%] - 2010/3/23 18:31 ☆
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について