私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレCygwin + MinGW + GCC 相談室 Part 3
gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ★
レスフィルター : (試験中)
こちらで質問するのがあっているのがわからないのですが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ぐらいの方法しか見つかりませんでしたので、検索ワードぐらいでも教えていただけれたらと思います。
研修先が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ぐらいの方法しか見つかりませんでしたので、検索ワードぐらいでも教えていただけれたらと思います。
すみません
細かいところですが
hello c でなくHello World! を表示させるでした・・・
細かいところですが
hello c でなくHello World! を表示させるでした・・・
>>101
1.
./a
2.
testという既存のコマンドが実行されている。testに関してはmanpage参照。
自作のtest.exeを動かしたいのなら./test
3.
起動したらHello, world!と出力してすぐ終了するプログラムなんだから
ウィンドウがすぐ閉じるのは当然。むしろ閉じてくれないと意図しない動作になるでしょ。
コマンドプロンプトから実行するか、return 0;の前にscanfなりgetcharなり
使えるのならgetcharなりで入力待ちを作る。
1.
./a
2.
testという既存のコマンドが実行されている。testに関してはmanpage参照。
自作のtest.exeを動かしたいのなら./test
3.
起動したらHello, world!と出力してすぐ終了するプログラムなんだから
ウィンドウがすぐ閉じるのは当然。むしろ閉じてくれないと意図しない動作になるでしょ。
コマンドプロンプトから実行するか、return 0;の前にscanfなりgetcharなり
使えるのならgetcharなりで入力待ちを作る。
>>101
cygwinじゃなくて、Unix系コマンドインタプリタの基礎知識なんだが。
Unix系コマンドインタプリタ(以下シェル)では、実行モジュールを探すのにPATH環境変数を利用する。
ロートルUnixオペレータはしばしばカレントディレクトリ(.)をPATH環境変数に含めてしまう。
そうすると、カレントディレクトリの実行モジュールがパスなし(ファイル名のみ)で実行できてしまう。
最近のシェルは一般的にディフォルトではカレントディレクトリをPATHに含めるようなことはしないので、
パスなしでは実行できない。それだけのこと。
何故カレントディレクトリをPATHに含めてはいけないか、についてはスレ違いでもあるので
自身で調査することをお勧めする。
cygwinじゃなくて、Unix系コマンドインタプリタの基礎知識なんだが。
Unix系コマンドインタプリタ(以下シェル)では、実行モジュールを探すのにPATH環境変数を利用する。
ロートルUnixオペレータはしばしばカレントディレクトリ(.)をPATH環境変数に含めてしまう。
そうすると、カレントディレクトリの実行モジュールがパスなし(ファイル名のみ)で実行できてしまう。
最近のシェルは一般的にディフォルトではカレントディレクトリをPATHに含めるようなことはしないので、
パスなしでは実行できない。それだけのこと。
何故カレントディレクトリをPATHに含めてはいけないか、についてはスレ違いでもあるので
自身で調査することをお勧めする。
>>103
ご丁寧にありがとうございます。
説明されればああ、当たり前のことなんだと理解はできるのですが
解決までもっていけないほど初心者だったので恥ずかしく思っています。
>>104
言い訳になってしまうのですがパスについてすらならっていなかったので
丁寧に説明していただいてありがとうございます。
カレントディレクトリをPATHに含めない件はスレ違いとのことですが
お勧めしていただいたので調べたので必要ないかもですが
理解したという報告まで・・ 環境によってコマンドが変わる事を避けるためと理解しました。
ありがとうございます。
返答が遅れましたが本当にスレ汚しのような質問にご丁寧に答えていただいてありがとうございます。
cygwinのインストールがおかしいのかと消しては入れなおしたりを半日以上繰り返していた
ため本当に助かりました。
本当にありがとうございます。
ご丁寧にありがとうございます。
説明されればああ、当たり前のことなんだと理解はできるのですが
解決までもっていけないほど初心者だったので恥ずかしく思っています。
>>104
言い訳になってしまうのですがパスについてすらならっていなかったので
丁寧に説明していただいてありがとうございます。
カレントディレクトリをPATHに含めない件はスレ違いとのことですが
お勧めしていただいたので調べたので必要ないかもですが
理解したという報告まで・・ 環境によってコマンドが変わる事を避けるためと理解しました。
ありがとうございます。
返答が遅れましたが本当にスレ汚しのような質問にご丁寧に答えていただいてありがとうございます。
cygwinのインストールがおかしいのかと消しては入れなおしたりを半日以上繰り返していた
ため本当に助かりました。
本当にありがとうございます。
たぶんみんな知ってるから
わざわざ報告しなくてもいいと思う
そのレスもこのレスも無駄と判断するのが
UNXクオリティ
わざわざ報告しなくてもいいと思う
そのレスもこのレスも無駄と判断するのが
UNXクオリティ
cygwinを導入し、windowsのコマンドプロンプトでUNIXコマンドを利用しています。
ls や which といった一般的なコマンドは使用できるのですが、
../hoge.exe
などと打ち込むと
'.' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というメッセージが出てしまいます。
./ を有効にすることは可能でしょうか?
OSはWindows XP pro です。
ご教授お願いいたします
ls や which といった一般的なコマンドは使用できるのですが、
../hoge.exe
などと打ち込むと
'.' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というメッセージが出てしまいます。
./ を有効にすることは可能でしょうか?
OSはWindows XP pro です。
ご教授お願いいたします
Windows Vista にcygwinをインストールしたいんだけど、
ダウンロードが終わった後のインストール段階で、33%くらい進んだところで必ずとまってしまって、
後は何時間放置してもうんともすんとも言わないんだけど、仕様?
ダウンロードが終わった後のインストール段階で、33%くらい進んだところで必ずとまってしまって、
後は何時間放置してもうんともすんとも言わないんだけど、仕様?
MinGW + GCC から Excel ファイルを作ろうと思います。
どのようにするのが一番コンパクトですかね?
どのようにするのが一番コンパクトですかね?
>>120
xls限定? csvじゃダメなの?
xls限定? csvじゃダメなの?
>>120
最近POIをgcjでコンパイルして,CNIでC++から使おうとして挫折しましたorz
トライしません?
この方法Linux上だとうまくいったのだけど,
Linux上でwin32へのクロスコンパイル環境を作って,
それで試したら私は失敗しました.
最近POIをgcjでコンパイルして,CNIでC++から使おうとして挫折しましたorz
トライしません?
この方法Linux上だとうまくいったのだけど,
Linux上でwin32へのクロスコンパイル環境を作って,
それで試したら私は失敗しました.
>>128 どのgccがstlエラーありますか?
>>129 ヘッダにライセンス書いてあるから読んどけ。
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
てなエラー。こういう眠くなるエラー見るだけでやる気ナッシング。
#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
そんな次元の質問じゃねーよw
そんな次元の質問じゃねーよw
普段C使ってるけど、STLコンテナ使いたくてC++にした。
だからついgcc でやる。
gccのコマンドオプションも眠くなるぐらいあるから気がつかなかった。
やっぱ敷居が高そうだし、vs2005 cl にもどろっかな。
だからついgcc でやる。
gccのコマンドオプションも眠くなるぐらいあるから気がつかなかった。
やっぱ敷居が高そうだし、vs2005 cl にもどろっかな。
普通はMakefileに書いておくのでいちいち手でコマンドうったりはしないような…
まぁ書き捨てプログラムで gcc a.c とかはやるけど
まぁ書き捨てプログラムで gcc a.c とかはやるけど
俺は汎用 Makefile 作って、
それを include するだけの Makefile をカレントディレクトリに作るコマンド作ってるな。
まあ、書き捨てプログラムは特定のディレクトリを使い回してるけど。
それを include するだけの Makefile をカレントディレクトリに作るコマンド作ってるな。
まあ、書き捨てプログラムは特定のディレクトリを使い回してるけど。
VC++に無い関数を使いたくて
Cygwin+gccでラッパーDLLを作ろうと思っています。
そこで質問なのですが、Cygwinのfopen()の返すファイルディスクリプタと、VC++のfopen()の返すそれとでは、互換性はあるのでしょうか?
Cygwin+gccでラッパーDLLを作ろうと思っています。
そこで質問なのですが、Cygwinのfopen()の返すファイルディスクリプタと、VC++のfopen()の返すそれとでは、互換性はあるのでしょうか?
そもそもFILE構造体自体に互換性がなかった希ガス。
mingwならいざ知らず、ラッパー作るのも一筋縄じゃいかないような。
一体全体、何をやりたいんだ?
mingwならいざ知らず、ラッパー作るのも一筋縄じゃいかないような。
一体全体、何をやりたいんだ?
VC++になくってcygwinにある関数を使いたいって…
そのcygwinの関数はVC++で使えるであろう Win32 API で
実装されてると思うからえらく遠まわりなことをしてる気が…
そのcygwinの関数はVC++で使えるであろう Win32 API で
実装されてると思うからえらく遠まわりなことをしてる気が…
ソースコンパチのコード書く場合、てっとりやばいからじゃない?
たとえば、mmapを使いたいとかね。MapViewOfFileだと、結構差があるからそこから合わせるのは結構面倒。
っていうか、>>141のレスからしてmmapでビンゴな希ガス
たとえば、mmapを使いたいとかね。MapViewOfFileだと、結構差があるからそこから合わせるのは結構面倒。
っていうか、>>141のレスからしてmmapでビンゴな希ガス
ちなみに100%GCC向けでコードかけばソースコンパチじゃないかって話になるが
まぁ、デバッグの都合上とか、最適化機能がgccは割とトロいとか、その辺の話かな
まぁ、デバッグの都合上とか、最適化機能がgccは割とトロいとか、その辺の話かな
>>146
「GCC向けコード」って何のことを指してるんだ?
コンパイラとしてGCCを使ったとしても使える API は OS 毎違うわけで…
API も同じにしたい人が cygwin のような API レベルのエミュレーションを使うわけで…
「GCC向けコード」って何のことを指してるんだ?
コンパイラとしてGCCを使ったとしても使える API は OS 毎違うわけで…
API も同じにしたい人が cygwin のような API レベルのエミュレーションを使うわけで…
ああ、そこをつつかれるとは思わなかった
Cygwin向け(POSIX向け)ね。
mmapはWindowsのWin32APIにはないから。
Cygwin向け(POSIX向け)ね。
mmapはWindowsのWin32APIにはないから。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
みんなの評価 : ★類似してるかもしれないスレッド
- 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
トップメニューへ / →のくす牧場書庫について